Acceptance testing investigation
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
cucumber-js
.gitignore
readme.md

readme.md

Acceptance Testing

A look at various frameworks to help with acceptance testing. See webpro/Automated-SPA-Testing for unit and functional testing.

Criteria to consider

  • Ability to use Feature files with the framework.
  • Some form of Given When Then syntax in Step Definitions.
  • Can easily be used in a Continuous integration environment (exit codes should be handled correctly)
  • Decent reporting out of the box in formats that Jenkins/TeamCity would support (TAP, JUnit XML).
  • Preference for JavaScript based frameworks however this is not a requirement
    • For JavaScript test frameworks/runners, the JavaScript client for WebDriver would most likely be used.
  • SauceLabs support is a plus.

Frameworks


Cucumber.js

Pros

  • Feature files follow the proper Gherkin syntax.
  • Maintained by the official Cucumber organisation.

Cons

  • Reporting wasn't amazing. Looks like it's still a work in progress. No colouring in the output (issue: 104).
  • Slow progress on a number of a issues.
  • Due to the async nature, neglecting to call the callback passed to each method in a step def doesn't actually fail. This means failing steps can appear to pass when actually they weren't run at all.

Links

Extra example

The repo RageMaion/node-bdd-example contains a working example of cucumber.js along with a number of useful techniques: