我正在为接口的实现编写一个测试类,并希望针对另一个实现测试我的实现(即确保一致性)。然后,测试方法将测试每个接口方法以检查这一点。
为此,我可以:
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()
为 中的每个testSomething()
方法运行TestCase
,因此两者_original
和_myImpl
都会被创建多次。
FWIW,我正在使用 JUnit 3。