问题描述
我正在尝试在 @web/test-runner
之上使用 sNowpack
作为我的测试运行器。
到目前为止,我已成功使用 @web/test-runner-playwright
启动无头浏览器来运行我的测试。
现在我需要一个测试框架(即 jest
)来利用其 test
和 expect
构造。
如何在上述设置中使用 jest
?
我尝试直接从 @jest/globals
导入这些内容,但出现错误提示 Do not import '@jest/globals' outside of the Jest test environment
,这是可以理解的。
我不想使用 jest
作为我的测试运行器,因为我想利用我的 sNowpack
管道进行测试以及在实际的无头浏览器中运行测试。这就是我使用 @web/test-runner
的原因。
如何将 jest
与 @web/test-runner
集成?
解决方法
我认为要走的路是在 jest 配置中设置一个 custom runner。如果我有什么工作,我会在这里发布!
,除非您有非常具体的要求,否则不要使用 Jest。 Jest 不完全支持 ECMAScript 模块。当您使用现代 Web 提供的工具时,我假设您会对使用 ECMAScript 最新版本感兴趣。您可以在此处阅读更多相关信息 - https://jestjs.io/docs/ecmascript-modules
您可以将 mocha + chai 与 web test runner 结合使用。您可以从这里参考此设置 - https://github.com/snowpackjs/snowpack/tree/main/create-snowpack-app/app-template-react-typescript