Behavioral Tests

cucumber.io / behat.org

We're suggesting to ADOPT behavioral tests by using the Cucumber specification language (called Gherkin) in projects.


  • encourages a consistent language for describing functionality and test cases throughout a project
  • separate test setup (technical) from test intent (business)
  • this greatly reduces the incentive to copy-paste code throughout different test cases
  • can be used to test arbitrary parts of the system, though it is often used to test the complete system


  • Refactoring the test language has to be done through search/replace (as it is text-based, there is no tool-support)