【发布时间】:2016-09-02 04:36:48
【问题描述】:
Junit 的 @BeforeClass 和 @AfterClass 必须声明为静态的。 @BeforeClass 有一个很好的解决方法here。我的班级中有许多单元测试,只想初始化和清理一次。关于如何获得@AfterClass 的解决方法的任何帮助?我想在不引入额外依赖项的情况下使用 Junit。谢谢!
【问题讨论】:
-
是什么阻止您使用静态方法来设置和拆除?没错,您设置的状态必须移动到静态字段,但听起来您希望它具有静态范围。
-
将测试实例保存在
static字段中。在您的@AfterClass方法中访问它并让它调用您想要的任何清理方法。 -
还有其他类访问需要不同作用域的相同清理方法
-
听起来您应该将 setup 和 teardown 方法重构为 JUnit Rule。然后,您可以进行在静态上下文中使用它的测试和在非静态上下文中使用它的测试。
-
你找到这个问题的答案了吗?
标签: java spring unit-testing junit