mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-02-20 13:46:52 +01:00
Fix: Debian package Restore PHPUnit test (A PHP Unit test that fails should not be removed but fixed and be kept in error until fix is published. Otherwise, PHPUnit are useless). Conflicts: htdocs/install/fileconf.php htdocs/install/inc.php |
||
|---|---|---|
| .. | ||
| phpunit | ||
| selenium | ||
| soapui | ||
| .gitignore | ||
| README | ||
README (English)
--------------------------------
This directory contains unit tests and docs for Dolibarr quality analysis.
PHPUNIT
-------
To use make phpunit analysis, you must:
* Install PHPUnit
If using Eclipse, you must also add an entry as external tool for phpunit programm with:
-Name: PHPUnit
-Location: Linux: /usr/bin/php
Windows: C:\Program Files (x86)\wamp\bin\php\php5.2.8\php.exe
-Workspace: ${workspace_loc}
-Arguments: Linux: /usr/bin/phpunit ${resource_path}
Windows: "C:\Program Files (x86)\PHPUnit-3.4.9\phpunit.php" ${resource_path}
If not using Eclipse, to install PHPUnit manually:
> sudo apt-get remove phpunit
> sudo apt-get upgrade pear
> sudo pear channel-discover pear.phpunit.de
> sudo pear channel-discover pear.symfony-project.com
> sudo pear channel-discover components.ez.no
> sudo pear update-channels
> sudo pear upgrade-all
> sudo pear install --alldeps phpunit/PHPUnit
* Run Unit tests:
> cd test
> phpunit MyFileTest.php
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:
> cd test
> phpunit -d memory_limit=-1 -d max_execution_time=600 -d max_input_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
Note that xdebug must be installed for this feature to work.
* Generate a report of Unit tests code coverage among all Dolibarr classes:
Increase your PHP memory (memory_limit in php.ini) to 512MB.
Remove all files into dolibarr root found with "find . | grep CVS\/Base\/ | grep \.php"
> cd test
> phpunit -d memory_limit=-1 -d max_execution_time=0 -d max_input_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
If there is a timeout before end, try this:
> cd test
> php -d max_input_time=0 -d max_execution_time=0 /usr/bin/phpunit -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
PHP-CODESNIFFER
---------------
* Install phpcs
* Launch PHP-Codesniffer:
> cd dev
> /usr/bin/php5 -c ./codesniffer/php.ini /usr/bin/phpcs --report=xml --standard=./codesniffer ../htdocs/test.php
PHPDEPEND
---------
* Install pdepend
* Launch PDepend analysis:
> cd test
> pdepend --debug -d memory_limit=-1 --configuration=./phpunit/phpunittest.xml --phpunit-xml=./report/logs/pdepend.xml --summary-xml=./report/logs/summary.xml --jdepend-chart=./report/logs/jdepend.svg --overview-pyramid=./report/logs/pyramid.svg --ignore=custom,custom2,adodbtime,artichow,ckeditor,efc_xfss,fckeditor,fpdf,geoip,magpierss,nusoap,odtphp,phpexcel,php_writeexcel,smarty,smtps,tcpdf,vcard ../htdocs
* To clean pdepend cache files
> rm -fr ~/.pdepend/*