Man*_*nki 9 java junit instantiation testcase
是否使用新的(或不同的)TestCase对象实例来运行JUnit测试用例中的每个测试方法?或者一个实例重用于所有测试?
public class MyTest extends TestCase {
public void testSomething() { ... }
public void testSomethingElse() { ... }
}
Run Code Online (Sandbox Code Playgroud)
在运行此测试时,MyTest会创建多少个类实例?
如果可能,请提供指向我可以验证行为的文档或源代码的链接.
我在 JUnit 文档中找不到关于您的问题的明确答案,但正如 anjanb 所写,其目的是每个测试都独立于其他测试,因此可以为每个要运行的测试创建一个新的 TestCase 实例。
如果您有昂贵的测试设置(“ fixtures ”)并希望在测试类中的所有测试用例之间共享,则可以在静态方法上使用@BeforeClass注释来实现此结果: http://junit.sourceforge。 net/javadoc_40/org/junit/BeforeClass.html。但请注意,仍可能为每个测试创建一个新实例,但这不会影响 @BeforeTest 方法已初始化的静态数据。