Gathering requirements
Now that we understand the workflow, let's put it into practice!
We begin byselecting a small portion of our application and defining its requirements. We picked the Create User
 feature because many other features depend on it. Specifically, the feature requires us to create an API endpoint, /users
, that accepts POST
requests, and stores the JSON payload of the request (representing the user) into a database. In addition, the following constraints should be applied:
- The user payload must include the email address and password fields
- The user payload may optionally provide a profile object; otherwise, an empty profile will be created for them
Now that we have our requirements, let's write our specification as E2E tests, using a tool called Cucumber.