如何使用 Junit 4.11 有条件地执行测试 类

How to execute test classes conditionally using Junit 4.11

我有多个测试 classes,我想根据 bean 值执行测试 classes。

我的测试class:

@autowired
protected String abType;

public  class abTest extends TestAbstract {

@Test
public void testAddUser() {
---------
--------
--------
}

我希望此 class 或其测试用例仅在 abType = a;

时执行

测试摘要class:

@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@ContextConfiguration(locations = "classpath:application-context-test.xml")
public abstract class TestAbstract {

 @Before
  public void setUp() {
    MockitoAnnotations.initMocks(this);
  }
.
.
.
.
.
}

这个 class 由所有测试 classes 扩展,我想 运行 所有测试 classes 有条件地基于配置的 beanValue config.properties 文件。

我阅读了多篇与此相关的帖子,但没有得到我真正想要的东西。 非常感谢任何帮助。!!

我通常使用JUnit4 中的assumeTrue。也许这是您的一个选择。

@Test
public void testOnlyWhenConditionTrue() {
   assumeTrue(conditionTrue);
   ... // your test steps
}

Assumptions and Conditional Test Execution with JUnit 4 and 5