The Docker image to automatically run tests on YAMLScript solutions submitted to Exercism.
To run the tests of an arbitrary exercise, do the following:
- Open a terminal in the project's root
- 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
.
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:
- Open a terminal in the project's root
- 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
.
To run the tests to verify the behavior of the test runner, do the following:
- Open a terminal in the project's root
- Run
./bin/run-tests.sh
These are golden tests 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 update the affected
tests/<test-name>/expected_results.json
file(s).
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:
- Open a terminal in the project's root
- Run
./bin/run-tests-in-docker.sh
These are golden tests 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 update the affected
tests/<test-name>/expected_results.json
file(s).
This repository has a Makefile for testing / linting various things.
You should run the make test
command and ensure it finishes cleanly before
pushing commits.