Giter VIP home page Giter VIP logo

Comments (4)

ursfassler avatar ursfassler commented on June 22, 2024

This are great news! I'd like to see cucumber-cpp seamlessly integrated.
I personally don't yet really know the cucumber ecosystem outside of cucumber-cpp. Question for me is, how do we know that cucumber-cpp fulfills the requirements? Is this the part where the compatibility kit comes into play? Or is it when it works with cucumber wire 7.x and a cucumber-ruby 9.x?
Best case is we have test cases to see what is missing and what is not yet complete.

from cucumber-cpp.

luke-hill avatar luke-hill commented on June 22, 2024

When the wire plugin was first made many moons ago it was a sort of "spin-off" from cucumber ruby. That was used in contract testing. I didn't do any of said work.

However this meant it was often tightly integrated into cucumber ruby. And then when it was no longer fashionable / used, it just fell by the wayside.

A secondary (or arguably now, primary), use was to use as a server if you like where you could fire events to it, this is what cpp uses it as and others could too.

If you find that cucumber-cpp just works as expected, then it is integrated and working. However it's likely that as we build up things we may find more items that are wrong / incorrect.

Once we have a v1.0 of cpp cut where we're happy with where it's at, I think then we can look at auxiliary frameworks, such as tag-expressions/cucumber-expressions e.t.c and begin to look at CCK conformance.

For reference. The only 100% CCK conformant flavour of cucumber (In the correct way), is JS. Cucumber-Ruby is fully conformant but "not in the right way" (That's being done now). JVM is closely following suit I believe in 2024 once the core maintainer has more time.

Once you've got the v1.0 version cut we can also look at some of the more tightly coupled concepts, such as either gherkin (Which is already quite fully formed), or maybe something like the messages protocol (The messages protocol is basically our language agnostic way of decoupling large amounts of complexity and giving us an easier maintenance burden) -> It's worth pointing out cpp messages was first released only a month or so ago if you check here. So it might be a good time to look into that when you can - https://github.com/cucumber/messages/blob/main/CHANGELOG.md

from cucumber-cpp.

ursfassler avatar ursfassler commented on June 22, 2024

@luke-hill do I understand correct that the relevant thing for this issue is to make cucumber-cpp compatible with cucumber 9.x and cucumber-wire 7x?

A short test (#285) indicate that it works for the few small built in examples. But as I understand you, this is probably by accident. If yes, my question is how we know that cucumber-cpp is really compatible? I understand from your last response that the CCK does not help here. Are there other tests or definitions?

from cucumber-cpp.

luke-hill avatar luke-hill commented on June 22, 2024

In here no I don't believe so. There are some in cucumber-wire which have recently been amended.

from cucumber-cpp.

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.