Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
tree: 935c3d5ed2

Fetching latest commit…

Cannot retrieve the latest commit at this time

..
Failed to load latest commit information.
classes
tests
bootstrap.php
bootstraplib.php
generatorlib.php
lib.php
phpunit.xsd
readme.md

readme.md

PHPUnit testing support in Moodle

Documentation

Installation

  1. install PEAR package manager - see PEAR Manual
  2. install PHPUnit package and phpunit/DbUnit extension - see PHPUnit installation documentation
  3. edit main config.php - add $CFG->phpunit_prefix and $CFG->phpunit_dataroot - see config-dist.php
  4. execute php admin/tool/phpunit/cli/init.php to initialise the test environemnt, repeat it after every upgrade or installation of plugins

Test execution

  • execute phpunit from dirroot directory
  • you can execute a single test case class using class name followed by path to test file phpunit core_phpunit_basic_testcase lib/tests/phpunit_test.php
  • it is also possible to create custom configuration files in xml format and use phpunit -c mytestsuites.xml

How to add more tests?

  1. create tests directory in your plugin
  2. add local/mytest/tests/my_test.php file with local_my_testcase class that extends basic_testcase or advanced_testcase
  3. add some test_*() methods
  4. execute your new test case phpunit local_my_testcase local/mytest/tests/my_test.php
  5. execute php admin/tool/phpunit/cli/init.php to get the plugin tests included in main phpunit.xml configuration file

How to convert existing tests?

  1. create new test file in xxx/tests/yyy_test.php
  2. copy contents of the old test file
  3. replace extends UnitTestCase with extends basic_testcase
  4. fix setUp(), tearDown(), asserts, etc.
Something went wrong with that request. Please try again.