This is an example repository with some Gherkin feature files.
Imagine we have built a coffee machine for our office, with automated tests using Cucumber.
You can use CucumberStudio "BDD with Cucumber project" to expose the features of this repository and their execution:
Display the feature files from this repository in CucumberStudio
Congrats! π
Push execution results to CucumberStudio
Ensure you have nodejs and npm installed
Run npm install
to install the libraries (which includes cucumber-js)
Execute the feature files with Cucumber by running node_modules/.bin/cucumber-js
. All test pass.
Generate results in a format that CucumberStudio understands
When the features are executed the results must be stored in a file. This file must be in message
format. Not junit xml
or json
.
The command line option --format=message:messages.ndjson
will output execution results in the message
format, and store them in the file messages.ndjson
. This is the final command to run:
node_modules/.bin/cucumber-js --format=message:messages.ndjson
Note: you can also run npm run test
which does the same, as defined in package.json
.
Push the results to CucumberStudio
In CucumberStudio, in the settings there is the command line to use to push results. This command line looks something like this:
curl -X POST \
https://studio.cucumber.io/cucumber_project/results \
-F messages=@
This command is defined in package.json
as a script. Run npm run push-results
to run it. You will need to define some environment variables to properly fill in the necessary information:
CS_PROJECT_ACCESS_TOKEN
: the unique access token relative to your projectREPOSITORY_NAME
: the repository name, like cucumber/coffee-machine-javascript
COMMIT_SHA
: the git commit hash referring the version actually testedCOMMIT_BRANCH
: the git commit branch referring the version actually testedCommand is:
export CS_PROJECT_ACCESS_TOKEN=abcd1234 export REPOSITORY_NAME=yourGitHubName/coffee-machine-javascript export COMMIT_SHA=$(git rev-parse HEAD) export COMMIT_BRANCH=$(git rev-parse --abbrev-ref $COMMIT_SHA) npm run push-results
Note: you can also run npm run push-results
which does the same, as defined in package.json
.
You should see the results being displayed in CucumberStudio.
Congrats! π