Skip to content

Commit

Permalink
Misc cucumber tweaks
Browse files Browse the repository at this point in the history
no refs

Misc cucumber tweaks:

- Use `docker compose run` instead of `docker compose up` to get a `TTY` for
live updating of progress + colorization of output. Also removes the annoying
service name prefix from the output
- Use `progress` as the formatter so we can see that things are happening
- Use JS based config instead of cmd line args for cucumber.js
- Added `failFast` to the config so we can stop on the first failure
  • Loading branch information
mike182uk committed Dec 19, 2024
1 parent 08d551f commit 1f7b272
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 10 deletions.
20 changes: 11 additions & 9 deletions cucumber.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
let cmd = `--format-options '{"snippetInterface": "synchronous"}'`;
// https://github.com/cucumber/cucumber-js/blob/main/docs/configuration.md

if (process.env.TAGS) {
// @see https://cucumber.io/docs/cucumber/api/?lang=javascript#tags
cmd += ` --tags '${process.env.TAGS}'`;
}

console.log(cmd);

export default cmd;
export default {
backtrace: true,
format: ['progress'],
formatOptions: {
snippetInterface: 'synchronous',
},
failFast: true,
// @see https://github.com/cucumber/cucumber-js/blob/main/docs/filtering.md#tags
tags: process.env.TAGS,
};
5 changes: 4 additions & 1 deletion docker/cucumber-tests
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
#!/usr/bin/env bash

# Export the input provided to the script as the TAGS environment variable. This
# will then be used by the cucumber-tests container to run only the scenarios
# matching the provided tags expression
export TAGS=$1

docker compose run --rm migrate-testing up && docker compose up cucumber-tests --exit-code-from cucumber-tests
docker compose run --rm migrate-testing up && docker compose run --rm cucumber-tests

0 comments on commit 1f7b272

Please # to comment.