1

Есть ли какие-либо рекомендации по внедрению WorPress (WP_UnitTestCase) с использованием Gitlab CI?Wordpress CI в Gitlab

Я уже пробовал настроить .gitlab-ci.yml, он реализует сборку, но не выполняется никаких тестов.

Это файл .gitlab-ci.yml:

image: php:5.6 

variables: 
    # Configure mysql service (https://hub.docker.com/_/mysql/) 
    MYSQL_DATABASE: wordpress_tests 
    MYSQL_ROOT_PASSWORD: mysql 

before_script: 
    # Install dependencies 
    - bash ci/docker_install.sh wordpress_tests root mysql tutum-wordpress latest 

stages: 
    - test 

# test:PHP5.3:MySQL: 
# image: tetraweb/php:5.3 
# script: 
# - phpunit --configuration phpunit.xml.dist 

test:PHP5.4:MySQL: 
    image: tetraweb/php:5.4 
    services: 
    - tutum/wordpress:latest 
    script: 
    - phpunit --configuration phpunit.xml.dist 

# test:PHP5.6:MySQL: 
# image: php:5.6 
# script: 
# - phpunit --configuration phpunit.xml.dist 

# test:PHP7:MySQL: 
# image: php:7 
# script: 
# - phpunit --configuration phpunit.xml.dist 
+1

Кажется, вы просите учебник, который находится вне темы в SO. Я бы посоветовал вам скорее распространить ваш вопрос на всю информацию: что вы пытались, содержимое вашего '.gitlab-ci.yml', какая часть терпит неудачу, журнал сборки и т. Д. – tmt

+0

@cascaval Я обновлю код , но это не сработает. Я спросил, потому что я счел важным сообщество WP знать, как реализовать CI, в бесплатном инструменте, таком как gitlab. – StevenV

ответ

2

После долгих проб и ошибок я получил это работает для меня, вы можете увидеть тесты для PHP5.3 через PHP7.0 являются правильно работает для тестового плагина, который я создал here

Вот как выглядит мой .gitlab-ci.yml. и сценарий оболочки для настройки среды - here

Чтобы использовать это в своем проекте, просто скопируйте .gitlab-ci.yml, bin/install_gitlab_tests.sh в свой проект.

+0

Он отлично поработал, теперь строит и правильно тестирует :) – StevenV

+0

ответ работал нормально. Но в настоящее время gitlab показывает мне эту ошибку: Fatal error: Class 'PHPUnit_Framework_TestCase' не найден в /tmp/wordpress-tests-lib/includes/testcase.php в строке 15 – StevenV

+0

WP CLI теперь поддерживает Gitlab CI в команде scaffold, это должно создать все правильные файлы для вашего плагина/темы - http://wp-cli.org/commands/scaffold/plugin-tests/ –

1

У меня была аналогичная проблема. Похоже, это была проблема совместимости Wordpress с phpunit 6.0. Исправлено прерыванием phpunit до 5.6. См.: https://github.com/wp-cli/wp-cli/issues/3802

+0

Я вижу, я использую изображение tetraweb/php: 7.0, любое другое изображение для Wordpress CI, у которого есть phpunit 5.6? – StevenV

+0

Хотя эта ссылка может ответить на вопрос, лучше включить основные части ответа здесь и предоставить ссылку для справки. Ответные ссылки могут стать недействительными, если связанная страница изменится. - [Из обзора] (/ review/low-quality-posts/15650233) – Tom

+0

@StevenV Я не использую Wordpress CI, поэтому я только что изменил требование composer.json для плагина, который тестирую. –