Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make --strict mode default #1788

Closed
4 tasks done
mpkorstanje opened this issue Oct 4, 2019 · 0 comments
Closed
4 tasks done

Make --strict mode default #1788

mpkorstanje opened this issue Oct 4, 2019 · 0 comments
Labels
💔 breaking change This will require a major release ⚡ enhancement Request for new functionality
Milestone

Comments

@mpkorstanje
Copy link
Contributor

mpkorstanje commented Oct 4, 2019

Depending on the outcome of the discussion in cucumber/common#714 we should make --strict mode default and possibly remove it all together from Cucumber.

This will make integration with other frameworks and reporting tools easier as they will only need to understand the standard variations of passed, skipped and failed.

Deprecation strategy:

@mpkorstanje mpkorstanje added the ⚡ enhancement Request for new functionality label Oct 4, 2019
@mpkorstanje mpkorstanje added this to the 6.0.0 milestone Oct 4, 2019
@mpkorstanje mpkorstanje changed the title Make strict mode default Make --strict mode default Oct 4, 2019
@mpkorstanje mpkorstanje mentioned this issue Oct 4, 2019
4 tasks
@mpkorstanje mpkorstanje removed the ⚡ enhancement Request for new functionality label Oct 4, 2019
@mpkorstanje mpkorstanje modified the milestones: 6.0.0, 5.x.x Oct 5, 2019
mpkorstanje added a commit that referenced this issue Dec 6, 2019
Aside from the common `PASSED`, `SKIPPED` and `FAILED` states Cucumber also
uses `PENDING`, `UNDEFINED`, `AMBIGUOUS`. This makes mapping a test execution
state to a `OK` or `NOK` test run state complicated. By defaulting to
`--strict` only `PASSED`, `SKIPPED` are considered `OK`. This makes it easier
to integrate tooling with Cucumber.

However before we can default to `--strict` all usage should be `--strict`.
This PR will print a warning when Cucumber is not ran in `--strict` mode.

Part of #1788
@mpkorstanje mpkorstanje modified the milestones: 5.x.x, 6.0.0 Dec 6, 2019
mpkorstanje added a commit that referenced this issue Dec 6, 2019
Aside from the common `PASSED`, `SKIPPED` and `FAILED` states Cucumber also
uses `PENDING`, `UNDEFINED`, `AMBIGUOUS`. This makes mapping a test execution
state to a `OK` or `NOK` test run state complicated. By defaulting to
`--strict` only `PASSED`, `SKIPPED` are considered `OK`. This makes it easier
to integrate tooling with Cucumber.

However before we can default to `--strict` all usage should be `--strict`.
This PR will print a warning when Cucumber is not ran in `--strict` mode.

Part of #1788
mpkorstanje added a commit that referenced this issue Dec 6, 2019
Aside from the common `PASSED`, `SKIPPED` and `FAILED` states Cucumber also
uses `PENDING`, `UNDEFINED`, `AMBIGUOUS`. This makes mapping a test execution
state to a `OK` or `NOK` test run state complicated. By defaulting to
`--strict` only `PASSED`, `SKIPPED` are considered `OK`. This makes it easier
to integrate tooling with Cucumber.

However before we can default to `--strict` all usage should be `--strict`.
This PR will print a warning when Cucumber is not ran in `--strict` mode.

Part of #1788
@mpkorstanje mpkorstanje modified the milestones: 6.0.0, 7.0.0 Apr 30, 2020
mpkorstanje added a commit that referenced this issue Apr 30, 2020
Unlike other implementations Cucumber-JVM defaults to `--non-strict` mode. By defaulting to `--strict` Cucumber follows the same standards as other implementations.

Additionally the option to set strict mode adds complexity for consumers of Cucumbers output. They have to interpret Cucumbers 6 scenario outcomes with this in mind. By removing `--strict/--non-strict` mode we remove this complexity all together.

With PR Cucumber will:
 * default to `--strict` 
 * throw an error on `--non-strict`.  
 * warn when `--strict` is used.
 * only print snippets as part of the exception thrown by JUnit rather then use the summary printer
 * only print snippets as part of the exception thrown by TestNG rather then use  the summary printer

Partial fix for #1788, cucumber/common#714
@aslakhellesoy aslakhellesoy added 💔 breaking change This will require a major release ⚡ enhancement Request for new functionality labels Feb 2, 2021
mpkorstanje added a commit that referenced this issue Apr 3, 2021
Cucumber executes scenarios in strict mode by default.

Fixes: #1788
mpkorstanje added a commit that referenced this issue Apr 3, 2021
Cucumber executes scenarios in strict mode by default.

Fixes: #1788
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💔 breaking change This will require a major release ⚡ enhancement Request for new functionality
Projects
None yet
Development

No branches or pull requests

2 participants