cucumber / godog

Cucumber for golang
MIT License
2.32k stars 254 forks source link

Provide a list of useful extensions #410

Open nhatthm opened 3 years ago

nhatthm commented 3 years ago

Is your feature request related to a problem? Please describe. This is not a technical problem

I'm very interested in using godog in my tests and it's super convenient. However, I find it is lack of visibility on existing extensions that I could use. In the end, I come up with my own implementation.

I think it's better for the community if we could provide a list of useful extensions.

I also have mine to share (5 extensions)

Describe the solution you'd like

There are 2 options:

  1. We could add a list directly to README.md
  2. We could add a list to a new file EXTENSIONS.md and add a link to README.md

The list would be like this

Extension Description
owner/repo Support a cool feature

Describe alternatives you've considered n/a

Additional context n/a

mpkorstanje commented 3 years ago

There are roughly speaking two models to maintain lists like these:

So perhaps it would be better to use a Github topic instead. Godog is tagged with a few:

image

And clicking any of these will lead to search results that can be sorted on stars or recent updates. This allows for some form of community curation.

https://github.com/topics/integration-testing?o=desc&s=stars

So by tagging all extensions with the same topic e.g. godog-extension the list will create itself. The README.md would only have to mention this convention.


That said, at a glance your extensions appear to be pre-written step definitions. This pattern comes up quite frequently in various implementations of Cucumber. It is also pattern that has proven itself to be detrimental to writing good gherkin as the steps are generally speaking too low level to be any use at communicating with non-technical users.

See:

https://aslakhellesoy.com/post/11055981222/the-training-wheels-came-off

nhatthm commented 3 years ago

So by tagging all extensions with the same topic e.g. godog-extension the list will create itself. The README.md would only have to mention this convention.

This is also cool 👍   we could use it.