Skip to content

Conversation

@andrelince
Copy link

@andrelince andrelince commented Nov 27, 2025

🤔 What's changed?

  • Wrap access to Storage.MustGetPickleResult in the cucumber formatter so that missing PickleResults (for scenarios that never execute due to StopOnFailure) do not panic, but instead return a nil result ultimately allowing for a report output
  • Add a unit test to cucumber formater (fmt_cucumber_test.go) to assert the changes

This PR is a follow up to this other PR

⚡️ What's your motivation?

I use godog for professional integration tests that run in our PR pipeline, and we rely on a report being generated for every run (both success and failure). These test suites can take up to an hour when they pass, so we enable stopOnFailure to fail fast and free up CI resources as soon as a single scenario fails.

However, when stopOnFailure is enabled and a scenario fails, the cucumber JSON formatter panics before writing the report, so we can’t collect the partial report for the scenarios that did run. This change ensures we still get a valid JSON report even when the run stops early.

🏷️ What kind of change is this?

  • 🐛 Bug fix (non-breaking change which fixes a defect)

♻️ Anything particular you want feedback on?

📋 Checklist:

  • I agree to respect and uphold the Cucumber Community Code of Conduct
  • I've changed the behaviour of the code
    • I have added/updated tests to cover my changes.
  • My change requires a change to the documentation.
    • I have updated the documentation accordingly.
  • Users should know about my change
    • I have added an entry to the "Unreleased" section of the CHANGELOG, linking to this pull request.

This text was originally generated from a template, then edited by hand. You can modify the template here.

@andrelince andrelince marked this pull request as ready for review December 1, 2025 23:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant