Monday, 23 January 2017

Automated WordPress PHPUnit Testing on GitLab CI

Source : Automated WordPress PHPUnit Testing on GitLab CI
Published On : January 23, 2017 at 01:57PM
By : Collins Agbonghama

In a previous post, i showed us how to set up automated PHP testing on GitLab CI.

If you are a WordPress developer and has a test suite already for your plugin, theme or WordPress powered web application and would love to use the GitLab CI to run it; my .gitlab-ci.yml below will come in handy.

# Select what we should cache
cache:
  paths:
  - vendor/

services:
- mysql

before_script:
# Install git, the php image doesn't have installed
- apt-get update -yqq
- apt-get install git -yqq

# instll the required packages for the running CI tests
- apt-get -yqqf install vim wget zip unzip subversion mysql-client libmcrypt-dev libmysqlclient-dev --fix-missing

# Install mysql driver
- docker-php-ext-install mysqli pdo_mysql mbstring

# Install Xdebug
- pecl install xdebug

# PHP extensions
- docker-php-ext-enable mysqli pdo_mysql mbstring xdebug

# Install composer
- curl -sS http://ift.tt/SI3ujS | php

# Install all project dependencies
- php composer.phar install

- bash bin/install-wp-tests.sh wordpress_test root mysql mysql $WP_VERSION

variables:
  # Configure mysql service (http://ift.tt/1ILGo6v)
  MYSQL_DATABASE: wordpress_tests
  MYSQL_ROOT_PASSWORD: mysql
  WP_VERSION: latest
  WP_MULTISITE: "0"

# We test PHP5.6
test:php5.6:
  image: php:5.6
  script:
  - vendor/bin/phpunit --coverage-text --coverage-clover=coverage.clove --colors=never

# We test PHP5.6 with multisite
test:php5.6:multisite:
  variables:
   WP_VERSION: latest
   WP_MULTISITE: "1"
  image: php:5.6
  script:
  - vendor/bin/phpunit --coverage-text --coverage-clover=coverage.clove --colors=never

# We test PHP7
test:php7:
  image: php:7
  script:
  - vendor/bin/phpunit --coverage-text --coverage-clover=coverage.clover --colors=never


# We test PHP7 with multisite
test:php7:multisite:
  variables:
   WP_VERSION: latest
   WP_MULTISITE: "1"
  image: php:7
  script:
  - vendor/bin/phpunit --coverage-text --coverage-clover=coverage.clove --colors=never

Note

The YAML configuration above assume you have your WordPress unit test created with WP CLI hence the bash bin/install-wp-tests.sh wordpress_test root mysql mysql $WP_VERSION.…



For More Go to : W3Guy

Labels:

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home