Junit 4,如何禁用每个测试方法创建Test的新实例

use*_*149 2 java testing junit4

有没有办法禁用每个@Test创建测试的新实例?

Mat*_*ell 6

每个测试一个实例是JUnit默认工作的方式.但是,您可以编写自己的测试运行器,该测试运行器使用一个实例进行所有测试.您可能希望从扩展BlockJUnit4ClassRunner开始.


Luc*_*cas 5

为了使这个答案:

public class MyTestClass {
    private static String onceForAllTests;

    @AfterClass
    public static void afterClass() {
        onceForAllTests = null; // silly, but just to demonstrate
    }

    @BeforeClass
    public static void beforeClass() {
        onceForAllTests = "This is set once for all tests";
    }

    @Test
    public void sillyTest {
        String someTestValue = "This is set during method";
        assertNotEquals( onceForAllTests, someTestValue );
    }
}
Run Code Online (Sandbox Code Playgroud)