Add, update, or delete tests for changes made in the current jj commit.
Before starting, read: ../authoring-tests/SKILL.md
Goals
- Delete no longer applicable tests
- Update outdated test expectations
- Add tests for new behaviors
Recently changed files
!jj diff --summary
If no files are changed, the consider all files in the current directory.
Workflow
- Explore each deleted, updated, or added file:
- Read the file if it still exists
- Run
jj diff <file>to view changes - Identify:
- Deleted logic
- Modified logic (new branches, edge cases, changed behavior)
- New logic
- Find the test files that import or reference the changed code. Create them if missing
- Run the relevant tests
- Examine failing tests and update them as necessary:
- Delete if no longer applicable
- Update if expectations are outdated
- Flag regressions to the user. Describe the changed behavior, the failing test, and your hypothesis about why it's a bug. Ask how to proceed Go back to step 3 after making updates until all tests pass
- Add tests for new behaviors
- Run the new tests
- Examine failing tests and update them as necessary:
- Update if there's a bug in the test
- Flag to the user if the tests caught a bug, Describe the behavior, the failing test, and your hypothesis about why it's a bug. Ask how to proceed Go back to step 7 after making updates
- Run tests with coverage if possible. If new logic is not covered, then go back to step 5