end-to-end-tests

git-town's avatarfrom git-town

after making changes, run end-to-end tests to ensure that the product still works

⭐3.0kstars🔀132forks📁View on GitHub🕐Updated Jan 3, 2026

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.
nameend-to-end-tests
descriptionafter making changes, run end-to-end tests to ensure that the product still works
allowed-toolsmake, 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 @this tag to a specific scenario
  • Run make cukethis to execute only the tagged scenario
  • when the test passes, remove the @debug @this tags