题
我们有很多书面集成测试使用JUnit 3 ,虽然我们现在与运行他们的 4.4 。其中的几个有需要为运行后类中的所有测试完成(以释放一些共同的资源)。
一个拆卸方法我看到,这可以在JUnit 4进行与@AfterClass(org.junit)。然而,这种混合成扩展TestCase现有JUnit 3测试(junit.framework。*)似乎不工作。 [BTW是有一个迁移工具了吗?问 264680 表示有是不是一个一年前。
我见过使用junit.extensions.TestSetup对于这种事情的记载。我的这个简短的测试似乎并不工作。任何例子?
解决方案
找到了答案,以我自己的问题:)我曾试图发布我的问题在此之前短暂,但它不是为我工作。但现在我意识到,这是因为我们的测试框架调用JUnit的不同于默认的,所以它不调用所需要在下述溶液中的“套装”的方法。在Eclipse中,如果我使用捆绑JUnit运行直接执行一个测试/测试用例,它运行良好。
每类执行此安装/拆除一旦在JUnit 3所述的方法是使用的TestSuite。下面是关于junit.org的示例:
public static Test suite() {
return new TestSetup(new TestSuite(YourTestClass.class)) {
protected void setUp() throws Exception {
System.out.println(" Global setUp ");
}
protected void tearDown() throws Exception {
System.out.println(" Global tearDown ");
}
};
}
其他提示
在JUnit 4中,测试类不需要延伸TestCase
。相反,你必须确保你的测试类的名称相匹配*Test
和每个测试方法都添加了@Test
。您是否尝试过做了这些改变,然后加入@AfterClass
注释中的相关方法?
有注释,以取代大多数/所有功能您当前可能使用从TestCase
。
不隶属于 StackOverflow