An open API service indexing awesome lists of open source software.

https://github.com/exercism/yamlscript-test-runner


https://github.com/exercism/yamlscript-test-runner

exercism-test-runner exercism-tooling maintained

Last synced: about 1 month ago
JSON representation

Awesome Lists containing this project

README

        

Exercism YAMLScript Test Runner
===============================

The Docker image to automatically run tests on YAMLScript solutions submitted
to [Exercism].

## 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 `

Once the test runner has finished, its results will be written to
`/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 `

Once the test runner has finished, its results will be written to
`/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//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//expected_results.json` file(s).

## 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//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//expected_results.json` file(s).

## Testing repository integrity

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.

[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