Junit4中的测试套件运行得很好,但这里有一个问题:
@RunWith(Suite.class)
@Suite.SuiteClasses({ A.class, B.class, ...})
如果有人开发了单元测试,却忘记将其包含在Suite.SuiteClasses中,这显然是一个问题。
(这不是一个刻录问题,因为Ant稍后会捕捉到它,但仍然是这样)
所以我想知道:如果您在Eclipse项目中指定了“测试”文件夹,并且其中有一些包含类的包--有没有办法以某种方式将它们全部自动包含在junit4测试套件中?
(是的,您可以右键单击" test“文件夹并以Junit身份运行,但有时会因为某些原因而导致单独的测试失败,而这些测试是单独通过的,因此我对此解决方案不太信任,而且测试套件是很好玩的玩具;-))。
发布于 2013-02-01 07:27:20
import org.junit.extensions.cpsuite.ClasspathSuite;
import org.junit.runner.RunWith;
@RunWith(ClasspathSuite.class)
public class MySuite {}
发布于 2012-12-06 12:41:38
不是回答,而是更多的评论:
...作为Junit运行,但有时会因为某些原因而导致单独的测试失败,而它们却分别通过了...
原因是有些测试不能正确清理。这应该总是让你保持警觉。尝试找出一对不能在一次“运行”中执行的测试,并仔细查看第一个测试。根据我自己的经验:尽快修复这些问题(也就是:现在!),否则你可能会在以后遇到非常深的问题(通常是: QA人员的抱怨,比如“测试在我的环境中失败”)
发布于 2012-12-08 14:22:21
我不同意Andreas_D的观点,这并不是因为测试不会自动清理。好的单元测试不需要自己清理。这是因为你的一些测试依赖于另一个测试的结果。您需要更好的测试和/或fixture
然而,我同意“立即修复它们!”这一部分。当您的测试结果不可重现时,您会遇到严重的问题
https://stackoverflow.com/questions/13743616
复制