【发布时间】:2010-06-22 10:31:43
【问题描述】:
我了解在 Junit 4 中,@Before 可用于为测试类的多个测试方法设置测试夹具。
但是,在我的系统中,我希望有一些常见的测试对象可用于所有测试。
这些对象最合适的名称是什么?存储它们的最佳做法是什么?
【问题讨论】:
-
对假货/存根有一个单独的项目(我猜你的情况是包)。让它们是静态的
标签: java unit-testing testing junit
我了解在 Junit 4 中,@Before 可用于为测试类的多个测试方法设置测试夹具。
但是,在我的系统中,我希望有一些常见的测试对象可用于所有测试。
这些对象最合适的名称是什么?存储它们的最佳做法是什么?
【问题讨论】:
标签: java unit-testing testing junit
最好的做法是在夹具中创建它们以保持测试隔离,除非它们的状态没有被测试改变(例如记录器)。否则,可能会在测试之间产生副作用:一项测试因另一项测试而失败,或者相反。
【讨论】:
肯定有在测试用例之间共享一些数据的用例。 JUnit 为此提供了@BeforeClass 注解。希望能帮到你……
http://junit.sourceforge.net/javadoc/org/junit/BeforeClass.html
【讨论】:
常用测试对象的首选名称将取决于这些对象的真正含义(除非您提供更多详细信息,否则我无能为力)。如果您想在所有测试之间共享一个对象,那么它在您的测试类中必须是静态的(JUnit 将在每次测试之前重新创建测试类)。
【讨论】:
为什么没有一个抽象的 BaseTest 超类来保存公共对象并在构造函数或 @BeforeClass 方法中初始化它们?
【讨论】: