用 Jest 自动测试指定文件(夹) 的正确性:让 TDD 更高效
2023-12-03 07:30:16
在编写单元测试时,我们通常会对整个项目进行测试,但有时我们只需要测试特定文件或文件夹。尤其是在重构或修复错误时,我们可能只想测试我们正在处理的部分。
Jest 提供了几种方法来实现指定文件或文件夹的测试:
-
使用 glob 模式:
Jest 允许您使用 glob 模式来指定要测试的文件或文件夹。例如,以下命令将测试所有以
.test.js
结尾的文件:jest "**/*.test.js"
您可以使用任何有效的 glob 模式,例如:
jest "src/**/*.js" # 测试 src 目录及其所有子目录中的所有 .js 文件 jest "src/components/*.js" # 测试 src/components 目录中的所有 .js 文件
-
使用
--testPathPattern
选项:您还可以在命令行中使用
--testPathPattern
选项来指定要测试的文件或文件夹。例如,以下命令将测试所有以.test.js
结尾的文件:jest --testPathPattern ".test.js
quot;jest --testPathPattern ".test.js$"
-
使用
--testPathIgnorePatterns
选项:您还可以使用
--testPathIgnorePatterns
选项来指定要忽略的文件或文件夹。例如,以下命令将忽略所有以.spec.js
结尾的文件:jest --testPathIgnorePatterns ".spec.js
quot;jest --testPathIgnorePatterns ".spec.js$"
-
使用
--watch
选项:Jest 提供了一个
--watch
选项,可以实时监听文件或文件夹的变化,并在发生变化时自动运行测试。例如,以下命令将实时监听所有以.test.js
结尾的文件:jest --watch "**/*.test.js"
当您修改任何以
.test.js
结尾的文件时,Jest 将自动重新运行测试。 -
使用 Jest 的测试分组:
Jest 还允许您将测试分组,以便您可以一次测试多个文件或文件夹。例如,以下命令将测试
src/components
目录中的所有测试文件:jest --testPathPattern "src/components"
您还可以在命令行中使用
--testNamePattern
选项来指定要测试的测试组。例如,以下命令将测试src/components
目录中所有以MyComponent
开头的测试:jest --testPathPattern "src/components" --testNamePattern "MyComponent.*"
使用这些方法,您可以轻松地指定要测试的文件或文件夹,并提高 TDD 的效率。