【发布时间】:2022-01-02 00:03:17
【问题描述】:
我在 Java 中创建单元测试,并为每个方法创建相同的列表、变量等。另一方面,我当然认为我可以将所有这些变量创建为全局变量并在setup() 方法(在@Before 中),但我不确定在运行测试时是否会因多线程等原因更改值。那么,这种情况下最好的方法是什么?
【问题讨论】:
-
另外,如果可能的话,您可以考虑使用更新的 JUnit 5(“Jupiter”)。您的注释将是
@BeforeEach和@BeforeAll。它还支持嵌套测试类、参数化测试、扩展、@DisplayName("…")等花哨的东西……它甚至允许您交换完整的测试引擎——如果需要的话。 -
是的,我也认为当然可以使用@BeforeEach 和@BeforeAll。但是,我只需要澄清关于重用相同变量的单元测试约定(例如,只在 @BeforeEach OR @BeforeAll 中定义一次,清除
@AfterEach上的变量。那么,什么是这种情况的正确方法吗?我认为这是一种非常普遍的情况,必须有一个通用的方法。有什么想法吗?
标签: java unit-testing testing junit junit5