The Docker image to automatically run tests on Swiftsolutions submitted to Exercism.
To run all of the tests, do the following:
- Open a terminal in the project's root
- Run
bin/run-all.sh test test/output
These are golden tests that compare the results.json
generated by running the current state of the code against the "known good" test/<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 test/<test-name>/results.json
file.
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> <path/to/solution/dir/> </path/to/output/dir/>
E.g.bin/run.sh multiple-tests-single-fail test/ test/output
This script is provided for testing purposes.
Note that due to the current test scripts state, which uses a simple diff to compare snapshots, you will have to use a different test solution directory, here dockerTest
. This directory uses modified golden tests that match the path information reported in XCTest's errors and keep the paths from tripping up the diff check.
To run the tests of an arbitrary exercise using the Docker container, do the following:
- Open a terminal in the project's root
- Run
./bin/run-in-docker.sh <exercise-slug> <./relative/path/to/solution/dir/> <./relative/path/to/output/dir/>
E.g.bin/run-in-docker.sh multiple-tests-single-fail ./dockerTest ./dockerTest/output
Note: the solution and output directory's MUST be relative paths!
To run all of the tests using the Docker container, do the following:
- Open a terminal in the project's root
- Run
bin/run-all-in-docker.sh