cucumber / cucumber/common

Make `strict` behaviour consistent and document it

Open
#714 10 comments 1 reaction 0 assignees View on GitHub
:book: documentation :safety_pin: pinned platform consolidation
Dominant language
No language data
Stars
3.4k
Forks
679
PR merge metrics
No merged PRs in 30d

Description

Various cucumber implementations have inconsistent behaviour for `strict`:

* Default value true or false?
* Does strict cause undefined steps to fail?
* Does strict cause pending steps to fail?

I propose we make `strict` default to `true`. By defaulting to true we're actively discouraging users from making a lot of WIP, and I think an opinionated tool like Cucumber should do stuff like that.

I also propose the following behaviour:

| | strict=true | strict=false |
|----------------|-------------|--------------|
| undefined step | error | no error |
| pending step | error | no error |
| failed step | error | error |
| passed step | no error | no error |
| ambiguous step | error | error |

I haven't looked into whether the various implementations behave like this. Let's agree on the desired behaviour - then create issues for the implementations that deviate so we can fix this.

When all implementations are fixed we should put this up on the docs site.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.