يتضمن هذا المستودع أمثلة لكيفية تحسين مجموعة الاختبار الخاصة بك باستخدام 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.
/ex-6
docker-compose run --rm nightwatch
.docker-compose down
.هذا المثال مقتبس من مثال Node/Express مفتوح المصدر الخاص بـ b00giZm.
حقوق الطبع والنشر 2018، كارل هيوز
مرخص بموجب ترخيص Apache، الإصدار 2.0 ("الترخيص")؛ لا يجوز لك استخدام هذا الملف إلا وفقًا للترخيص. يمكنك الحصول على نسخة من الترخيص على
http://www.apache.org/licenses/LICENSE-2.0
ما لم يكن ذلك مطلوبًا بموجب القانون المعمول به أو تم الاتفاق عليه كتابيًا، يتم توزيع البرامج الموزعة بموجب الترخيص على أساس "كما هي"، دون ضمانات أو شروط من أي نوع، سواء كانت صريحة أو ضمنية. راجع الترخيص لمعرفة الأذونات والقيود التي تحكم اللغة المحددة بموجب الترخيص.