TestCase对象的新(或不同)实例是否用于在JUnit测试用例中运行每个测试方法?或者一个实例被重用于所有测试?
public class MyTest extends TestCase { public void testSomething() { ... } public void testSomethingElse() { ... } }
运行此测试时,MyTest类的实例数量是多少?
解决方法
我在JUnit文档中找不到关于您的问题的明确答案,但是asjanb写道,意图是每个测试都是独立于其他测试,因此可以为要运行的每个测试创建一个新的TestCase实例.
如果您想要在测试类中的所有测试用例中共享昂贵的测试设置(“fixtures”),可以使用静态方法上的@BeforeClass注释来实现此结果:http://junit.sourceforge.net/javadoc_40/org/junit/BeforeClass.html.请注意,新的实例仍然可以为每个测试创建,但这不会影响@BeforeTest方法初始化的静态数据.