【发布时间】:2012-05-10 14:18:51
【问题描述】:
我正在为接口的实现编写一个测试类,并希望针对另一个实现测试我的实现(即确保一致性)。然后测试方法将测试每个接口方法以检查这一点。
为此,我可以:
a) 创建原始实现和我的新实现的private static 常量字段:
public class MyImplTest extends TestCase {
private static OldImpl _original;
private static MyImpl _myImpl;
static {
// instantiate _original and _myImpl
}
// My tests
}
b) 创建两个实现的private 字段,并使用setUp() 实例化它们:
public class MyImplTest extends TestCase {
private OldImpl _original;
private MyImpl _myImpl;
public void setUp(){
// instantiate _original and _myImpl
}
// My tests
}
这些都是首选/被认为是好的风格吗?我的直觉建议 (b),但我想创建相当大的对象,并且 setUp() 为 TestCase 中的每个 testSomething() 方法运行,因此 _original 和 _myImpl 将被创建多次。
FWIW,我正在使用 JUnit 3。
【问题讨论】:
-
对于未来的读者,这个SO question 也可能会有所帮助。
标签: java unit-testing junit