end-to-end-tests
after making changes, run end-to-end tests to ensure that the product still works
When & Why to Use This Skill
This Claude skill automates the execution of end-to-end (E2E) tests using Cucumber and Go to ensure product stability. It streamlines the quality assurance process by providing a standardized workflow for running Gherkin-based test suites, identifying regressions immediately after code changes, and offering targeted debugging capabilities for failing scenarios.
Use Cases
- Automated Regression Testing: Run full end-to-end test suites after code modifications to ensure existing features remain functional.
- Continuous Integration Workflow: Integrate with 'make' commands to validate software builds before deployment or merging.
- Targeted Debugging: Isolate specific failing scenarios using Gherkin tags (@debug @this) to quickly iterate on fixes without running the entire test suite.
- Quality Gate Enforcement: Use exit codes to programmatically determine if a codebase meets the required stability standards.
| name | end-to-end-tests |
|---|---|
| description | after making changes, run end-to-end tests to ensure that the product still works |
| allowed-tools | make, go |
End-to-end tests
Instructions
When you are done making changes, run all end-to-end tests through this command:
make cuke
If the exit code is 1, read the error messages and fix all errors, then re-run the end-to-end tests until they run successfully and exit with code 0.
End-to-end tests are defined in the "features" folder. They are written in the Gherkin language and execute using Cucumber for Go.
If an end-to-end test fails, you can re-run only this test to verify that your fix works:
- Add the
@debug @thistag to a specific scenario - Run
make cukethisto execute only the tagged scenario - when the test passes, remove the
@debug @thistags