Imagine a future with me...
Your project is fully defined, requests from a client are clear..
.. these requirements need to be transcribed into a first-person perspective --- the person using your app.
... you break out behaviors into descriptive chunks
... you use Gherkin syntax, because convention over configuration is GOOD
... you use Cucumber to turn these behaviors into real tests that run in a headless browser
... tests are broken! Write some code, make them pass!
... Tests all pass! You're done!
... Client wants to change a feature...
... ...
... you update the tests. They break!
... you change the code --- they pass!
... Client is happy, you're done!
- gherkin (not a library, but a language)
- CucumberJS (because you're writing JavaScript anyway...)
- A driver... dunno yet! Probably WebDriver or Nightmare.
- https://github.com/stewartml/gherkin-jest
- writing features - gherkin language (behat)
- Speak Gherkin And Learn How To Collect Requirements For Your Project
Library | Pro | Con |
---|---|---|
Nightwatch-Cucumber | fairly simple behavior api (via nightwatch) | writing steps |
Cucumber-Mink | eliminates need to write 40 common steps | lacks driver |
react-cucumber | integrates with Jest | writing steps |
iensu/mocha-cakes-2 |