Junit - 运行设置方法一次

2022-08-31 08:11:52

我设置了一个包含几个测试的类,而不是使用,我希望有一个在所有测试之前只执行一次的设置方法。在 Junit 4.8 中可以做到这一点吗?@Before


答案 1

虽然我同意@assylias使用是一种经典的解决方案,但它并不总是方便的。用 注释的方法必须是静态的。对于某些需要测试用例实例的测试来说,这是非常不方便的。例如,基于Spring的测试,用于处理在spring上下文中定义的服务。@BeforeClass@BeforeClass@Autowired

在这种情况下,我个人使用带有注释的常规方法并管理我的自定义(! 旗:setUp()@Beforestaticboolean

private static boolean setUpIsDone = false;
.....
@Before
public void setUp() {
    if (setUpIsDone) {
        return;
    }
    // do the setup
    setUpIsDone = true;
}

答案 2

您可以使用 BeforeClass 批注

@BeforeClass
public static void setUpClass() {
    //executed only once, before the first test
}

推荐