-
-
Notifications
You must be signed in to change notification settings - Fork 19
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
Join forces with the godog team? #137
Comments
Thanks for creating your first issue! We are thankful for your help |
@mattwynne Although I'm not a maintainer of this project, I contributed to it a lot. The fundamental difference between the two libraries is that this one embraces the builtin Go test framework (ie. each step is a subtest which is a Go test framework feature). That comes with a couple advantages. There are more reasons listed on this page https://go-bdd.github.io/gobdd/ While I'm glad that there is a little bit of competition (it allows playing with different ideas in terms of the implementation), |
It would be interesting to understand the context for why godog didn't embrace the builtin Go test framework. I guess @l3pp4rd would be the person to answer that best. cc @cucumber/go |
Hi @mattwynne at the time I started godog I did not knew how to integrate it well, it seemed it was not correct to use t.Fatal or t.Error since I could not see how godog could catch those step failures that way. Maybe at the time go (version 1.2) had no extensions in test framework. Now I have not used golang over 2 years, not sure how flexible the test framework is now. |
Hi all. I'm the creator of Cucumber and the other lead of the Cucumber project. I'm reasonably familiar with Go, having written/contributed to several of the low level Go libraries in https://github.com/cucumber/common, but I've not used or hacked on godog or gobdd (yet). I think integration with the standard library's testing framework is very important - especially the test runner. In Does godog have the same limitation? And does gobdd let you do this? Cucumber-JVM has a similar philosophy to gobdd's - it uses the "standard" test runner (JUnit) as the entry-point, which means IDE integration is supported out of the box. I'd be absolutely thrilled if the gobdd and godog projects merged and took the best from both libraries. If the maintainers of both projects agree on that that, perhaps you'd even be interested in adopting the name "Cucumber.go"? I'm not sure what would be the best route for a merge - continue with one codebase and adding code from the other, or start from scratch adding code from both. You tell me. On a related note, we've actually implemented a few libraries that neither godog nor gobdd seem to have adopted (yet):
A merger could also be an opportunity to adopt these two libraries in order to become even more "Cucumber" compatible. |
Hi, thanks for your comments! I'm open to any kind of cooperation :) I described my why's I created this project here https://go-bdd.github.io/gobdd/. If we can join our forces to build something even more awesome than godog/gobdd then |
This could be a breaking changes roadmap..... |
@inluxc yeah, but in long term, it could be profitable for all of us the merging of those two projects is possible only when the core "whys" behind gobdd will be fulfilled. When we look at how godog is designed IMO it will require a lot of work and change a few fundamental differences between both projects. I joined slack channel so we can chat more about it |
Hello! 👋
I'm one of the leads for the Cucumber project. I spotted this library after one of godog's users brought this issue to my attention.
I'm not a Go programmer, so I don't understand a lot of the context for your decision to re-write, but I do recognise it as great feedback for us! For example, I have no idea how idiomatic or easy to maintain godog's codebase is.
I'm curious to know whether you'd be interested in working together with the Cucumber folks to help us make godog more the way you'd like it to be, and incorporate the ideas you've got here into godog's codebase?
If you'd like to discuss this in real-time, you can book time with me at https://calendly.com/mattwynne or you can come and find us in https://cucumber.io/community#slack in the #committers channel to chat.
Whatever you decide, thanks for innovating and growing the BDD ecosystem! 🎉
The text was updated successfully, but these errors were encountered: