/s9y-plugins-phpunit

Files to enable unit testing Serendipity plugins using PHPUnit

Primary LanguagePHP

s9y-plugins-phpunit

Files to enable unit testing Serendipity plugins using PHPUnit.

Requirements

This has been tested with

  • PHP 5.3.6, 5.5.3
  • Serendipity 1.7-alpha1, 2.0-beta4
  • PHPUnit 3.6.12, 3.7.24
  • An active PSO_SQLITE PDO driver for PHP

Installation

Clone this repository into the S9Y_ROOT/tests/plugins directory

git clone https://github.com/mattsches/s9y-plugins-phpunit tests/plugins.

Copy phpunit.xml.dist to phpunit.xml (and edit if needed).

Writing tests

Unit tests go into a tests directory under each plugin directory and should have the name of the plugin, e.g. S9Y_ROOT/plugins/serendipity_event_foobar/tests/foobarTest.php. There is an example file in the example directory of this repository.

Running tests

You can run your unit tests from the Serendipity root directory:

phpunit -c tests/plugins/phpunit.xml plugins/serendipity_event_foobar/tests/foobarTest.php

or simply

phpunit -c tests/plugins/phpunit.xml

to run all plugin unit tests.

You can also set up your IDE to run phpunit tests, e.g. in PhpStorm use the following in Project Settings > PHP > PHPUnit > Test Runner:

  • Use configuration file: /path/to/tests/plugins/phpunit.xml
  • Use bootstrap file: /path/to/tests/plugins/bootstrap.php