Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

PHPUnit: Difference between revisions

From MoodleDocs
No edit summary
Line 23: Line 23:


==All test suites==
==All test suites==
Before first execution you should build new configuration file phpunit.xml by executing:
php admin/tool/phpunit/cli/util.php --buildconfig
To execute all system tests specified in default configuration file run:
phpunit


==Individual tests==
==Individual tests==
phpunit local/yourplugin/tests/some_test.php


==All tests in one directory==
==All tests in one directory==
phpunit local/yourplugin/tests/*_test.php




=Moodle integration and test separation=
=Moodle integration and test separation=


=Writing new tests=
=Writing new tests=
Line 35: Line 48:


=Conversion of existing tests=
=Conversion of existing tests=


=See also=
=See also=

Revision as of 21:34, 3 April 2012

Note: This page is a work-in-progress. Feedback and suggested improvements are welcome. Please join the discussion on moodle.org or use the page comments.

PHPUnit
Project state Work in progress
Tracker issue MDL-32323, MDL-32149, MDL-31857
Discussion see tracker issues
Assignee Petr Škoda (škoďák)

Moodle 2.3


Installation of PHPUnit support

PHPUnit is distributed as PEAR package, it is not part of Moodle installation.

Configuration of server before first test execution

Our PHPUnit integration requires a dedicated database and dataroot. Before the fist test execution the database has to be initialised via command line script:

php admin/tool/phpunit/cli/util.php --drop; php admin/tool/phpunit/cli/util.php --install

Test execution

PHPUnit tests are executed from the command line. PHP IDEs usually have integration options for PHPUnit.

All test suites

Before first execution you should build new configuration file phpunit.xml by executing:

php admin/tool/phpunit/cli/util.php --buildconfig

To execute all system tests specified in default configuration file run:

phpunit

Individual tests

phpunit local/yourplugin/tests/some_test.php

All tests in one directory

phpunit local/yourplugin/tests/*_test.php


Moodle integration and test separation

Writing new tests

Conversion of existing tests

See also