0

我是 Junit 的新手。我正在学习我们必须使用 @BeforeEach 或 @Before 来设置一个新实例。我还了解到,当我们使用 @AfterEach 或 @Afterclass 时,是一种拆卸方法,它会在所有测试后释放它们。但是,我很好奇当我们不使用 @AfterEach 或 @AfterClass 时是否会受到影响,因为当我们使用 @BeforeEach 时,无论如何我们都会得到新的实例。另外,这里的释放是什么意思,我想知道当我们使用@AfterEach 时发生了什么。

4

1 回答 1

0

它执行您对其进行编程的操作。实际上,正如您所建议的,您通常不需要任何@After*方法,因为 GC 会处理旧对象,您只需为新测试获取新对象。

也就是说,有时您必须进行一些清理——删除文件、回滚数据库事务、关闭数据库连接等。在这些情况下,这些方法可能很有用。一旦您的代码变得更加复杂,您的测试和测试设置也会变得更加复杂。

于 2021-12-15T11:12:58.970 回答