在为 React 和 TypeScript 设置 Jest 和 React 测试库时,我发现了一个博客,其中提到要设置
"test": "cross-env NODE_ENV=test jest tests/"
在
package.json
下的scripts
中。
我想知道整条线代表什么以及为什么需要它们。我以前只用过
test: "jest"
。我知道当命令 npm test
运行时,scripts
下的那一行将执行(主要是运行笑话测试运行程序来运行所有测试)。什么时候需要 test: "jest"
以及什么时候需要 "test": "cross-env NODE_ENV=test jest tests/"
?
这是
package.json
中的脚本。它允许您通过在命令行上键入简单的命令来运行复杂的命令。您可以通过运行 npm run test
来执行此脚本。
package.json
中的脚本可以包含操作系统提供的命令,或者Node.js包提供的命令。
cross-env
命令由 Node 包cross-env 提供。
cross-env NODE_ENV=test
--
cross-env
命令的目的是以独立于操作系统的方式设置环境变量(在本例中,将变量
NODE_ENV
设置为
test
的值),以便相同的命令适用于 Linux、Windows 和 Mac。
jest tests/
- 命令的倒数第二个单词 (
jest
) 运行Jest 测试运行程序,并且
tests/
告诉 Jest 在哪里可以找到测试文件。 Jest 将获取这些测试文件(单元测试)并运行它们,并报告这些测试的成功或失败。