将 Jest 与 @web/test-runner 一起使用

问题描述

我正在尝试在 @web/test-runner 之上使用 sNowpack 作为我的测试运行器。 到目前为止,我已成功使用 @web/test-runner-playwright 启动无头浏览器来运行我的测试。 现在我需要一个测试框架(即 jest)来利用其 testexpect 构造。

如何在上述设置中使用 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