首页 > 解决方案 > beforeAll 和写在代码顶部有什么区别?

问题描述

在 Jest 和其他测试框架中?写 beforeAll 有什么意义?

以下链接没有帮助:

@Before、@BeforeClass、@BeforeEach 和 @BeforeAll 之间的区别

beforeAll(() => server.listen());

上面的行被放置在我正在检查的代码库的全局范围内。

如果我按如下方式重写它会发生什么变化?

server.listen()

标签: jestjs

解决方案


当您有需要运行的异步函数(async/promise)时,如果没有样板代码,它们可能无法在测试开始之前完成,通过使用 before all 或 after all,您可以确保异步函数调用在开始之前解析。

此外,使用类似beforeAllafterAll启用一次性设置/拆卸功能的方法来调用。如果这些失败(抛出异常),则框架知道所有后续测试都将失败并且不运行它们。

您可以在此处阅读有关设置/拆卸方法的更多信息。


推荐阅读