AgentSkillsCN

run-tests

在 Commons 单体仓库中运行 Jest 测试。当您需要测试代码变更、验证实现效果、排查测试失败问题,或在用户提及运行测试时,请使用此功能。

SKILL.md
--- frontmatter
name: run-tests
description: Run Jest tests in the Commons monorepo. Use when testing code changes, validating implementations, debugging test failures, or when the user mentions running tests.

Run Jest Tests

Quick Reference

bash
npx nx <target> <project> -- --runTestsByPath <relative-path>
ComponentHow to Determine
<target>test-local:jest:run if path contains /local/, otherwise test:jest:run
<project>Use @nx-project-mapping skill to get project name
<relative-path>Path relative to project root, not repo root

Workflow

  1. Use @nx-project-mapping to get the project name and root
  2. Strip the project root prefix from the file path to get the relative path
  3. Choose target: test-local:jest:run for /local/ paths, test:jest:run otherwise
  4. Run the command

Examples

File PathProjectRelative PathCommand
commons-packages/backend/__tests__/services/member.spec.ts@commons/backend__tests__/services/member.spec.tsnpx nx test:jest:run @commons/backend -- --runTestsByPath __tests__/services/member.spec.ts
packages/athena/__tests__/local/workflow.spec.ts@cityblock/athena__tests__/local/workflow.spec.tsnpx nx test-local:jest:run @cityblock/athena -- --runTestsByPath __tests__/local/workflow.spec.ts

Running Multiple Files

Same project, same target—pass multiple paths:

bash
npx nx test:jest:run @commons/backend -- --runTestsByPath __tests__/a.spec.ts __tests__/b.spec.ts

Running All Tests for a Project

Omit --runTestsByPath to run all tests:

bash
npx nx test:jest:run @commons/backend

Console Output (Debugging)

By default, console output is captured and only shown on failure. For live output:

bash
COMMONS_TESTING_LOG_LEVEL=live npx nx test:jest:run <project> -- --runTestsByPath <path>

Log levels: error (default) | warn | info | live

Watch Mode

For development, add --watch:

bash
npx nx test:jest:run @commons/backend -- --runTestsByPath __tests__/my.spec.ts --watch

Troubleshooting

IssueSolution
EPERM errorsRun with sandbox disabled (permission issues with npm/node modules)
Test not foundVerify path is relative to project root, not repo root
/local/ tests not runningUse test-local:jest:run target instead of test:jest:run