JUnit:运行套件和单独运行测试之间有什么区别吗?

时间:2014-03-14 17:29:00

标签: java junit

我遇到了问题,一个测试类似乎在我的测试套件中干扰了另一个。

我有一个套件,它执行两个类,一个叫做MergeTestSuite.java(另一个是Suite),另一个叫做RecordTest.java。 RecordTest扩展了MergeTestSuite.java已经测试过的一个类

我按如下方式创建了另一个套件:

@RunWith(Suite.class)
@Suite.SuiteClasses( {

   MergeTestSuite.class,
   RecordTest.class

})
public class CoreTestSuite {


   @BeforeClass
   public static void install() throws Throwable {
    RegistryUtils.cleanupResources();
   }
}

MergeTestSuite.class和RecordTest.class都可以单独运行。如果我运行CoreTestSuite,第二个测试将失败,除非我从列表中删除MergeTestSuite.class。

1 个答案:

答案 0 :(得分:1)

Junit TestSuite为多个测试提供额外功能。例如,您可以控制测试运行的顺序,也可以将多个测试套件组合到另一个套件中。我认为这是older doc from Junit 3.1.8最好的描述。