https://github.com/exercism/python-test-runner
https://github.com/exercism/python-test-runner
community-contributions-paused exercism-test-runner exercism-tooling maintained-autonomous
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/exercism/python-test-runner
- Owner: exercism
- License: agpl-3.0
- Created: 2019-09-13T15:41:07.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2025-02-12T02:11:01.000Z (11 months ago)
- Last Synced: 2025-04-29T06:34:17.035Z (8 months ago)
- Topics: community-contributions-paused, exercism-test-runner, exercism-tooling, maintained-autonomous
- Language: Python
- Size: 155 KB
- Stars: 11
- Watchers: 9
- Forks: 17
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Exercism Python Test Runner
The Docker image to automatically run tests on Python solutions submitted to [exercism](https://exercism.io).
## Running the Tests
To run all of the tests, do the following:
1. Open a terminal in the project's root
2. Run `pytest`
These are [golden tests][golden] that compare the `results.json` generated by running the current state of the code against the "known good" `test//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//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 `
## Generating `results.json` for an Exercise with Docker
*This script is provided for testing purposes.*
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 <./relative/path/to/solution/dir/> <./relative/path/to/output/dir/>`
**Note**: the solution and output directory's **MUST** be relative paths!
[golden]: https://ro-che.info/articles/2017-12-04-golden-tests