在Eclipse中手动终止测试套件时,未调用@AfterClass方法

时间:2015-12-02 00:31:09

标签: java junit

我注意到在 Eclipse 中手动终止测试套件时,不会调用 JUnit @AfterClass方法。由于我使用@AfterClass方法进行清理,因此在调试时会出现一些问题。

在这种情况下,有没有办法确保调用清理步骤? (出于某种原因,我有时必须手动停止测试......)

感谢:)

2 个答案:

答案 0 :(得分:1)

首先:eclipse如何终止正在运行的程序:https://stackoverflow.com/a/8941751/1100135

因此终止并不是特定于JUnit所以JUnit不能(或者可能更好:不应该)对它做任何事情。所以,如果你有自己的想法,你必须自己编程。你可能没有很多选择:shutdown hooks或eclipse插件。但是,如果您的团队的其他成员将使用IntelliJ,该怎么办?或普通的maven / gradle / ant?

真正的解决方案是解决测试设计中的两个问题。首先,你必须杀死你的测试。解决了!如果您开始使用CI怎么办?第二个问题是你的测试必须清理。为什么?如果他们不这样做会怎么样?尝试以无关紧要的方式编写它们。

答案 1 :(得分:0)

确保您具有此导入导入org.testng.annotations.AfterClass; 而不是导入org.junit.AfterClass;