Files
abap-test-runner/README.md

52 lines
2.3 KiB
Markdown
Raw Normal View History

2021-11-24 06:48:56 +01:00
# Exercism ABAP Test Runner
2021-10-18 13:48:52 +01:00
2021-11-24 06:48:56 +01:00
The Docker image to automatically run tests on ABAP solutions submitted to [Exercism].
2021-10-18 13:48:52 +01:00
## Run the test runner
To run the tests of an arbitrary exercise, do the following:
1. Open a terminal in the project's root
2. Run `./bin/run.sh <exercise-slug> <solution-dir> <output-dir>`
Once the test runner has finished, its results will be written to `<output-dir>/results.json`.
## Run the test runner on an exercise using Docker
_This script is provided for testing purposes, as it mimics how test runners run in Exercism's production environment._
To run the tests of an arbitrary exercise using the Docker image, do the following:
1. Open a terminal in the project's root
2. Run `./bin/run-in-docker.sh <exercise-slug> <solution-dir> <output-dir>`
Once the test runner has finished, its results will be written to `<output-dir>/results.json`.
## Run the tests
To run the tests to verify the behavior of the test runner, do the following:
1. Open a terminal in the project's root
2. Run `./bin/run-tests.sh`
These are [golden tests][golden] that compare the `results.json` generated by running the current state of the code against the "known good" `tests/<test-name>/results.json`. All files created during the test run itself are discarded.
When you've made modifications to the code that will result in a new "golden" state, you'll need to generate and commit a new `tests/<test-name>/results.json` file.
## Run the tests using Docker
_This script is provided for testing purposes, as it mimics how test runners run in Exercism's production environment._
To run the tests to verify the behavior of the test runner using the Docker image, do the following:
1. Open a terminal in the project's root
2. Run `./bin/run-tests-in-docker.sh`
These are [golden tests][golden] that compare the `results.json` generated by running the current state of the code against the "known good" `tests/<test-name>/results.json`. All files created during the test run itself are discarded.
When you've made modifications to the code that will result in a new "golden" state, you'll need to generate and commit a new `tests/<test-name>/results.json` file.
[test-runners]: https://github.com/exercism/docs/tree/main/building/tooling/test-runners
[golden]: https://ro-che.info/articles/2017-12-04-golden-tests
[exercism]: https://exercism.io