docker testing examples
1.0.0
此儲存庫包含如何使用 Docker 改進測試套件的範例。範例採用 PHP 或 Node,並且要求您在本機安裝 Docker。
使用下面的簡短說明,或查看部落格文章(即將發布)以了解更多詳細資訊。
/ex-1
目錄docker run --rm -v $(pwd):/app -w /app composer install
installdocker 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
installdocker 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
installdocker 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
installdocker 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
除非適用法律要求或書面同意,否則根據許可證分發的軟體均以「原樣」分發,不帶任何明示或暗示的保證或條件。請參閱許可證,了解許可證下管理權限和限制的特定語言。