Code Monkey home page Code Monkey logo

Comments (11)

charlierudolph avatar charlierudolph commented on July 21, 2024 2

Coming back to this. I think this should be removed because of the poor practice it lets you walk into. When i first came onto cucumber-js, the builds looked like this. One of the first things I wanted to do when I joined was get the test suite to be entirely green (and using --strict).

I don't think the ability to have "passing" tests while they are incomplete is a practice we want to have as the default. I would be okay with making strict the default and allowing users some way to go --not-strict but I think that needs to be exception instead of the default behavior.

I don't think incomplete features should ever be committed to the main branch. They can be left on a feature branch or use tags to avoid running them. I don't see the use in running them as if an earlier step breaks, a developer might fix and not realize the feature is incomplete until later.

from common.

aslakhellesoy avatar aslakhellesoy commented on July 21, 2024

Could you dig in the google group archives and/or github to find the original discussion? Probably 2008-2009 I'd guess

from common.

aslakhellesoy avatar aslakhellesoy commented on July 21, 2024

@sebrose please wheigh in

from common.

ajbw avatar ajbw commented on July 21, 2024

We don't use --strict, because we need a way of turning tests yellow without failing the entire build, so we are overloading pending and turning --strict off.

To explain our use case: we are checking routing to downstream HTTP services and don't 100% care if the service responds with 4xx or 5xx, because we don't control the downstream services, but we still would like to know (e.g., so that if people come to us and say "why isn't routing to service X working", we can say, "because service X is returning Y"). Therefore, we have step definitions that say "response code should not be" that return pending if they find a match (rather than raising an error).

We obviously would prefer that there was a clean, supported way to indicate a warning (as opposed to a fatal error), but as that doesn't seem to be supported in cucumber at this time, we use pending, and therefore require the ability to turn off --strict so that our builds don't fail.

from common.

paoloambrosio avatar paoloambrosio commented on July 21, 2024

At the moment Cucumber-CPP runs the old Cucumber-TCK, but without implementing all features. This means that we have to use the default non-strict mode or we'd have to add tags to Cucumber-TCK.

Despite this need till we move away from it, I agree that it promotes bad practice so my 👍 to @charlierudolph's proposal of --not-strict.

from common.

brasmusson avatar brasmusson commented on July 21, 2024

Cucumber-JVM already have the ability to both turn on and turn off the boolean options, so to be consistent with the naming there, --no-strict rather then --not-strict should be used if reverting the default behaviour to fail on undefined or pending steps.

from common.

charlierudolph avatar charlierudolph commented on July 21, 2024

The next version of cucumber-js is going to have strict as the default with a CLI option for --no-strict. Thus I'm going to close this. Please reopen if anyone wants to discuss further

from common.

mattwynne avatar mattwynne commented on July 21, 2024

@charlierudolph how about another ticket on this repo that documents what you did, with checkboxes for all the other implementations so we can keep track of which ones are working 'to spec'?

from common.

charlierudolph avatar charlierudolph commented on July 21, 2024

Does that belong here @mattwynne? Wouldn't it be more useful to create issues on each repo instead?

from common.

aslakhellesoy avatar aslakhellesoy commented on July 21, 2024

Let's keep all consolidation tickets here. Less work, easier to keep track of. We can use a (new) consolidation tag to group them.

from common.

lock avatar lock commented on July 21, 2024

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

from common.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.