java - JUnit:使用不同的配置运行一个测试

标签 java unit-testing testing junit

我有2个测试方法,我需要用不同的配置来运行它们

myTest() {
    .....
    .....
}

@Test
myTest_c1() {
    setConf1();
    myTest();
}

@Test
myTest_c2() {
    setConf2();
    myTest();
}

//------------------

nextTest() {
    .....
    .....
}

@Test
nextTest_c1() {
    setConf1();
    nextTest();
}

@Test
nextTest_c2() {
    setConf2();
    nextTest();
}

我不能从一个配置中同时运行它们(如下面的代码所示),因为我需要单独的方法来执行 tosca。

@Test
tests_c1() {
    setConf1();
    myTest()
    nextTest();
}

我不想编写这 2 个方法来运行每个测试,我该如何解决这个问题?

首先我想写自定义注释

@Test
@RunWithBothConf
myTest() {
   ....
}

但也许还有其他解决方案?

最佳答案

如何使用理论

@RunWith(Theories.class)
public class MyTest{

   private static enum Configs{
     C1, C2, C3;
   }

  @DataPoints
  public static Configs[] configValues = Configs.values();

  private void doConfig(Configs config){
    swich(config){...}
  }

  @Theory
  public void test1(Config config){
      doConfig(config);

      // rest of test
  }

  @Theory
  public void test2(Config config){
     doConfig(config);

      // rest of test
  }

不知道为什么格式化关闭。

关于java - JUnit:使用不同的配置运行一个测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13073419/

相关文章:

java - 积极的垃圾收集器策略

java - 未找到 org.springframework.web.servlet.mvc.SimpleFormController

java - 如何编写多线程单元测试?

java - 我如何在 Android 中使用 JUnit 测试模型?

java - 测试:无法注册 MBean 实例已经存在

java - 设置用于测试电子邮件警报的服务器

java - 如何在即将推出的 jFrame 的 TextFields 中预先记录值?

java - Java 中可以有这样的方法吗?或者它只是书中的一些 "dummy"方法来展示示例?

angularjs - 使用 Karma 包含父范围变量的测试语句

javascript - 上传文件 - Protractor