我们有很多书面集成测试使用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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top