docker testing examples
1.0.0
该存储库包含如何使用 Docker 改进测试套件的示例。示例采用 PHP 或 Node,并且要求您在本地安装 Docker。
使用下面的简短说明,或查看博客文章(即将发布)以了解更多详细信息。
/ex-1
目录docker run --rm -v $(pwd):/app -w /app composer install
docker run --rm -v $(pwd):/app -w /app php:7.2 vendor/bin/phpunit index.php
(应该通过)docker run --rm -v $(pwd):/app -w /app php:7.1 vendor/bin/phpunit index.php
(应该通过)docker run --rm -v $(pwd):/app -w /app php:7.0 vendor/bin/phpunit index.php
(应该通过)docker run --rm -v $(pwd):/app -w /app php:5.6 vendor/bin/phpunit index.php
(应该抛出语法错误) /ex-2
目录docker run --rm -v $(pwd):/app -w /app composer install
docker run --name database --rm -d -e MYSQL_ALLOW_EMPTY_PASSWORD=true mysql:5.7
docker run --rm -v $(pwd):/app -w /app --link database php:7.2 vendor/bin/phpunit index.php
(应该会失败)docker build . -t php-72-mysqli
docker run --rm -v $(pwd):/app -w /app --link database php-72-mysqli vendor/bin/phpunit index.php
(应该通过)docker rm -f database
/ex-3
目录docker run --rm -v $(pwd):/app -w /app composer install
docker build . -t php-72-mysqli
docker run --name database --rm -d -e MYSQL_ALLOW_EMPTY_PASSWORD=true -e MYSQL_DATABASE=test mysql:5.6
。等待几秒钟让容器启动。docker run --rm -v $(pwd):/app -w /app --link database php-72-mysqli vendor/bin/phpunit index.php
(应该会失败)docker rm -f database
docker run --name database --rm -d -e MYSQL_ALLOW_EMPTY_PASSWORD=true -e MYSQL_DATABASE=test mysql:5.7
。等待几秒钟让容器启动。docker run --rm -v $(pwd):/app -w /app --link database php-72-mysqli vendor/bin/phpunit index.php
(应该通过)docker rm -f database
/ex-4
目录docker run --rm -v $(pwd):/app -w /app composer install
docker build . -t php-72-mysqli
docker run --name database --rm -d -e MYSQL_ALLOW_EMPTY_PASSWORD=true -v $(pwd)/data:/var/lib/mysql mysql:5.7
。等待几秒钟让容器启动。docker run --rm -v $(pwd):/app -w /app --link database php-72-mysqli vendor/bin/phpunit index.php
(应该通过)docker rm -f database
/ex-5
目录docker-compose run --rm nightwatch
。docker-compose down
。此示例改编自 blueimp 的开源 nightwatch 存储库。
/ex-6
目录docker-compose run --rm nightwatch
。docker-compose down
。此示例改编自 b00giZm 的开源 Node/Express 示例。
版权所有 2018,卡尔·休斯
根据 Apache 许可证 2.0 版(“许可证”)获得许可;除非遵守许可证,否则您不得使用此文件。您可以在以下位置获取许可证副本:
http://www.apache.org/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则根据许可证分发的软件均按“原样”分发,不带任何明示或暗示的保证或条件。请参阅许可证,了解许可证下管理权限和限制的特定语言。