Enhance phpunit tests

This commit is contained in:
Laurent Destailleur 2015-04-04 02:44:42 +02:00
parent 9f5ba746a1
commit 747c780f67
3 changed files with 15 additions and 8 deletions

View File

@ -31,21 +31,23 @@ If not using Eclipse, to install PHPUnit manually:
> phpunit MyFileTest.php > phpunit MyFileTest.php
If using Eclipse, select the test and click on menu "Run external tools and choose PHPUnit". If using Eclipse, select the test and click on menu "Run external tools and choose PHPUnit".
* Generate a report of Unit tests code coverage among tested classes only: * Generate a report of Unit tests code coverage done by one tested class:
> cd test > cd test
> phpunit -d memory_limit=-1 -d max_input_time=600 -d max_execution_time=600 --configuration ./phpunit/phpunittest.xml --coverage-html ./report --coverage-clover ./report/logs/phpunit.coverage.xml --log-junit ./report/logs/phpunit.xml phpunit/MyClassTest.php > phpunit -d memory_limit=-1 -d max_input_time=1800 -d max_execution_time=1800 --configuration ./phpunit/phpunittest.xml --coverage-html ./report ./report/logs/phpunit.xml phpunit/MyClassTest.php
Note that xdebug must be installed for this feature to work. Note that xdebug must be installed for this feature to work.
* Generate a report of Unit tests code coverage among all Dolibarr classes: * Generate a report of Unit tests code coverage done by all Dolibarr unit test classes:
Increase your PHP memory (memory_limit and suhosin.memory_limit in php.ini) to 4G. Note: Version 3.5 need 1.5G Increase your PHP memory (memory_limit and suhosin.memory_limit in php.ini) to 4G. You can check setup with "php -i | grep memory". Note: Version 3.5 need 1.5G
> cd test > cd test
> phpunit -d suhosin.memory_limit=4G -d memory_limit=-1 -d max_input_time=0 -d max_execution_time=0 --configuration ./phpunit/phpunittest.xml --coverage-html ./report --coverage-clover ./report/logs/phpunit.coverage.xml --log-junit ./report/logs/phpunit.xml phpunit/AllTests.php > phpunit -d suhosin.memory_limit=4G -d memory_limit=-1 -d max_input_time=0 -d max_execution_time=0 --configuration ./phpunit/phpunittest.xml --coverage-html ./report ./report/logs/phpunit.xml phpunit/AllTests.php
If there is a timeout before end, try this: If there is a timeout before end, try this:
> cd test > cd test
> php -d suhosin.memory_limit=4G -d memory_limit=-1 -d max_input_time=0 -d max_execution_time=0 /usr/bin/phpunit -d suhosin.memory_limit=4G -d memory_limit=-1 -d max_input_time=0 -d max_execution_time=0 --configuration ./phpunit/phpunittest.xml --coverage-html ./report phpunit/AllTests.php > php -d suhosin.memory_limit=4G -d memory_limit=-1 -d max_input_time=0 -d max_execution_time=0 /usr/bin/phpunit -d suhosin.memory_limit=4G -d memory_limit=-1 -d max_input_time=0 -d max_execution_time=0 --configuration ./phpunit/phpunittest.xml --coverage-html ./report phpunit/AllTests.php
puis renice -10 du process php puis
> sudo renice -10 idprocessphp
> php -d suhosin.memory_limit=4G -d memory_limit=-1 -d max_input_time=0 -d max_execution_time=0 /usr/bin/phpunit -d suhosin.memory_limit=4G -d memory_limit=-1 -d max_input_time=0 -d max_execution_time=0 --configuration ./phpunit/phpunittest.xml --coverage-php ./report/codecoverage.php ./report phpunit/AllTests.php
PHP-CODESNIFFER PHP-CODESNIFFER

3
test/bootstrap.php Normal file
View File

@ -0,0 +1,3 @@
<?php
set_time_limit(0);
?>

View File

@ -11,8 +11,8 @@
stopOnFailure="true" stopOnFailure="true"
syntaxCheck="true"> syntaxCheck="true">
<php> <php>
<ini name="max_execution_time" value="600"/> <ini name="max_execution_time" value="1800"/>
<ini name="max_input_time" value="600"/> <ini name="max_input_time" value="1800"/>
<ini name="memory_limit" value="4G" /> <ini name="memory_limit" value="4G" />
<!-- Also don't forget to change suhosin.memory_limit=4G --> <!-- Also don't forget to change suhosin.memory_limit=4G -->
</php> </php>
@ -25,6 +25,7 @@
<directory suffix=".php">../../documents/</directory> <directory suffix=".php">../../documents/</directory>
<directory suffix=".php">../../htdocs/custom/</directory> <directory suffix=".php">../../htdocs/custom/</directory>
<directory suffix=".php">../../htdocs/documents/custom/</directory> <directory suffix=".php">../../htdocs/documents/custom/</directory>
<directory suffix=".php">../../htdocs/nltechno/</directory>
<directory suffix=".php">../../htdocs/products/canvas/</directory> <directory suffix=".php">../../htdocs/products/canvas/</directory>
<directory suffix=".php">../../htdocs/contact/canvas/</directory> <directory suffix=".php">../../htdocs/contact/canvas/</directory>
<directory suffix=".php">../../htdocs/societe/canvas/</directory> <directory suffix=".php">../../htdocs/societe/canvas/</directory>
@ -48,6 +49,7 @@
<directory suffix=".php">../../documents/</directory> <directory suffix=".php">../../documents/</directory>
<directory suffix=".php">../../htdocs/custom/</directory> <directory suffix=".php">../../htdocs/custom/</directory>
<directory suffix=".php">../../htdocs/documents/custom/</directory> <directory suffix=".php">../../htdocs/documents/custom/</directory>
<directory suffix=".php">../../htdocs/nltechno/</directory>
<directory suffix=".php">../../htdocs/products/canvas/</directory> <directory suffix=".php">../../htdocs/products/canvas/</directory>
<directory suffix=".php">../../htdocs/contact/canvas/</directory> <directory suffix=".php">../../htdocs/contact/canvas/</directory>
<directory suffix=".php">../../htdocs/societe/canvas/</directory> <directory suffix=".php">../../htdocs/societe/canvas/</directory>