Skip to content

wneumann/swift-test-runner

 
 

Repository files navigation

Exercism Swift Test Runner

The Docker image to automatically run tests on Swiftsolutions submitted to Exercism.

Running the Tests

To run all of the tests, do the following:

  1. Open a terminal in the project's root
  2. 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.

Generating results.json for an Exercise

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> <path/to/solution/dir/> </path/to/output/dir/>
    E.g. bin/run.sh multiple-tests-single-fail test/ test/output

Generating results.json for an Exercise with Docker

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:

  1. Open a terminal in the project's root
  2. 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:

  1. Open a terminal in the project's root
  2. Run bin/run-all-in-docker.sh

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Swift 94.6%
  • Shell 4.8%
  • Dockerfile 0.6%