Jest
Jest 是一个常见的测试运行器,拥有庞大的生态系统。与 Turborepo 集成将带来巨大的速度提升。
须知
本指南假设您正在使用 create-turbo 或具有类似结构的存储库。设置
假设我们有一个如下所示的 monorepo
package.json
package.json
将 jest
安装到您计划拥有测试套件的包中。对于此示例,我们将在 web
和 @repo/ui
中进行测试
apps/web
和 packages/ui
都有自己的测试套件,因此我们将在它们的 package.json
中添加一个 test
脚本
在根目录的 turbo.json
中,创建一个 test
任务
现在,turbo test
可以并行化和缓存每个包中的所有测试套件,只测试已更改的代码。
在监视模式下运行测试
当您正常运行测试套件时,它会完成并输出到 stdout
。这意味着您可以使用 Turborepo 缓存它。
但是当您在监视模式下运行测试时,该进程永远不会退出。这使得监视任务更像是开发任务。
由于这种差异,我们建议指定两个单独的 Turborepo 任务:一个用于运行测试,一个用于在 Jest 的监视模式下运行测试。在每个工作区的每个 package.json
文件中
在根目录的 turbo.json
中
您现在可以使用全局 turbo
作为 turbo test:watch
运行此任务,或者从根目录 package.json
中的脚本运行此任务
这有帮助吗?