返回

用 Jest 自动测试指定文件(夹) 的正确性:让 TDD 更高效

前端

在编写单元测试时,我们通常会对整个项目进行测试,但有时我们只需要测试特定文件或文件夹。尤其是在重构或修复错误时,我们可能只想测试我们正在处理的部分。

Jest 提供了几种方法来实现指定文件或文件夹的测试:

  1. 使用 glob 模式:

    Jest 允许您使用 glob 模式来指定要测试的文件或文件夹。例如,以下命令将测试所有以 .test.js 结尾的文件:

    jest "**/*.test.js"
    

    您可以使用任何有效的 glob 模式,例如:

    jest "src/**/*.js"  # 测试 src 目录及其所有子目录中的所有 .js 文件
    jest "src/components/*.js"  # 测试 src/components 目录中的所有 .js 文件
    
  2. 使用 --testPathPattern 选项:

    您还可以在命令行中使用 --testPathPattern 选项来指定要测试的文件或文件夹。例如,以下命令将测试所有以 .test.js 结尾的文件:

    jest --testPathPattern ".test.js
    jest --testPathPattern ".test.js$"
    
    quot;
  3. 使用 --testPathIgnorePatterns 选项:

    您还可以使用 --testPathIgnorePatterns 选项来指定要忽略的文件或文件夹。例如,以下命令将忽略所有以 .spec.js 结尾的文件:

    jest --testPathIgnorePatterns ".spec.js
    jest --testPathIgnorePatterns ".spec.js$"
    
    quot;
  4. 使用 --watch 选项:

    Jest 提供了一个 --watch 选项,可以实时监听文件或文件夹的变化,并在发生变化时自动运行测试。例如,以下命令将实时监听所有以 .test.js 结尾的文件:

    jest --watch "**/*.test.js"
    

    当您修改任何以 .test.js 结尾的文件时,Jest 将自动重新运行测试。

  5. 使用 Jest 的测试分组:

    Jest 还允许您将测试分组,以便您可以一次测试多个文件或文件夹。例如,以下命令将测试 src/components 目录中的所有测试文件:

    jest --testPathPattern "src/components"
    

    您还可以在命令行中使用 --testNamePattern 选项来指定要测试的测试组。例如,以下命令将测试 src/components 目录中所有以 MyComponent 开头的测试:

    jest --testPathPattern "src/components" --testNamePattern "MyComponent.*"
    

使用这些方法,您可以轻松地指定要测试的文件或文件夹,并提高 TDD 的效率。