Defining the API

Conventional Testing Styles

Gherkin (aka Cucumber)

From Wikipedia:

“Cucumber is a software tool that supports behavior-driven development (BDD).”

“Gherkin is the language that Cucumber uses to define test cases.”

Gherkin is another BDD testing syntax which places an emphasis on using natural language.

Rather than defining tests in programming code, Gherkin uses a plain text syntax:

Feature: Dog
  Scenario: Barking
    Given a dog
    When the dog barks
    Then the output should be "Woof!"

Testing libraries for Gherkin allow you to write an interpreter for your Gherkin code:

[Then("the output should be \"(.*)\"")]
public void ThenTheOutputShouldBe(string value) {
  Output.Should().Equal(value);
}