Actions

Difference between revisions of "Developer Area/Testing/Unit Testing"

From Mahara Wiki

< Developer Area‎ | Testing
 
(4 intermediate revisions by 4 users not shown)
Line 1: Line 1:
= Unit Test Introduction =
+
=Unit Test Introduction=
 
Work is currently underway to integrate phpunit unit testing in to Mahara.
 
Work is currently underway to integrate phpunit unit testing in to Mahara.
 
Documentation for phpunit is available at http://www.phpunit.de/manual/current/en/
 
Documentation for phpunit is available at http://www.phpunit.de/manual/current/en/
  
= Setup and Running =
+
=Setup and Running=
 
You'll need to already have mahara set up and installed. Default settings are copied from your running configuration and overridden with unit test settings.
 
You'll need to already have mahara set up and installed. Default settings are copied from your running configuration and overridden with unit test settings.
  
* Install phpunit on your development machine; (on ubuntu you may need to follow these instructions https://bugs.launchpad.net/ubuntu/+source/phpunit/+bug/701544/comments/6)
+
==Old instructions==
* Switch to a user with permission to access your dataroot directory. In debian this would be:
+
 
 +
*Install phpunit on your development machine
 +
*Switch to a user with permission to access your dataroot directory. In debian this would be:
 +
 
 
   sudo su - www-data
 
   sudo su - www-data
* Change directory to the root of the mahara git tree (the directory that htdocs is in)
+
 
 +
*Change directory to the root of the mahara git tree (the directory that htdocs is in)
 +
 
 
   cd $path_to_mahara
 
   cd $path_to_mahara
* Run phpunit:
+
 
 +
*Run phpunit, first option only if you have set up your cli for php properly:
 +
 
 
   phpunit .
 
   phpunit .
 +
OR
 +
  php -c  /etc/php5/apache2/php.ini  /usr/bin/phpunit .
 +
OR
 +
  php -c  /etc/php5/php-fpm/php.ini  /usr/bin/phpunit .
 +
 +
 +
==New instructions==
 +
This requires phpunit 3.7 or later which is installed by running:
 +
 +
make initcomposer
 +
 +
Unit tests can be run by:
 +
 +
make phpunit
 +
 +
From the main directory of mahara (eg, parent directory of htdocs)
 +
 +
If it complains about 'session data directory' not being writable then run as follows:
 +
 +
sudo -u www-data make phpunit
  
= Best Practices =
+
=Best Practices=
 
TODO
 
TODO

Latest revision as of 15:13, 24 March 2023

Unit Test Introduction

Work is currently underway to integrate phpunit unit testing in to Mahara. Documentation for phpunit is available at http://www.phpunit.de/manual/current/en/

Setup and Running

You'll need to already have mahara set up and installed. Default settings are copied from your running configuration and overridden with unit test settings.

Old instructions

  • Install phpunit on your development machine
  • Switch to a user with permission to access your dataroot directory. In debian this would be:
 sudo su - www-data
  • Change directory to the root of the mahara git tree (the directory that htdocs is in)
 cd $path_to_mahara
  • Run phpunit, first option only if you have set up your cli for php properly:
 phpunit .
OR
 php -c  /etc/php5/apache2/php.ini  /usr/bin/phpunit .
OR
 php -c  /etc/php5/php-fpm/php.ini  /usr/bin/phpunit .


New instructions

This requires phpunit 3.7 or later which is installed by running:

make initcomposer

Unit tests can be run by:

make phpunit

From the main directory of mahara (eg, parent directory of htdocs)

If it complains about 'session data directory' not being writable then run as follows:

sudo -u www-data make phpunit

Best Practices

TODO