我们的测试运行器以 Docker 镜像的形式部署。
请阅读工具部分的通用 Docker 说明,了解它们是如何工作的。
当我们运行测试运行器来测试一份解答时,会运行这样一条 Docker 命令:
docker run \
--rm \
--network none \
--mount type=bind,src="${solution_dir}",dst=/solution \
--mount type=bind,src="${output_dir}",dst=/output \
--tmpfs /tmp:rw \
"exercism/${track_slug}-test-runner" \
"${exercise_slug}" "/solution" "/output"
可以看到,我们向 Docker 镜像传入了三个参数:
我们的所有测试运行器在实现中都遵循以下约定:
Dockerfile 位于代码仓库的根目录。/opt/test-runner。/opt/test-runner/bin/run.sh。/opt/test-runner/bin/run.sh 脚本接收 3 个参数:
更多信息请参阅接口。
新的测试运行器代码仓库默认会采用这些约定。