test
Folders and files
Name | Name | Last commit date | ||
---|---|---|---|---|
parent directory.. | ||||
README (English) -------------------------------- This directory contains unit tests and docs for Dolibarr quality analysis. - PHPUnit - https://phpunit.de - PHP_CodeSniffer - https://pear.php.net/package/PHP_CodeSniffer/ - PHP Depend - https://pdepend.org/ PHPUNIT ------- To use make phpunit analysis, you must: * Install PHPUnit If using Eclipse, you must also add an entry as external tool for phpunit program 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 > phpunit MyFileTest.php If using Eclipse, select the test and click on menu "Run external tools and choose PHPUnit". * Example to run phpunit 7.0 from composer using php version 8.0: > cd ~/tmp > composer -i phpunit > cd test/phpunit > /usr/bin/php8.0 ~/tmp/htdocs/includes/phpunit/phpunit/phpunit MyFileTest.php * Generate a report of Unit tests code coverage done by one tested class: > cd test > 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. * 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. You can check setup with "php -i | grep memory". Note: Version 3.5 need 1.5G > 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 phpunit/AllTests.php If there is a timeout before end, try this: > 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 ou > 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 phpunit/AllTests.php puis > sudo renice -10 idprocessphp 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,php_writeexcel,smarty,smtps,tcpdf,vcard ../htdocs * To clean pdepend cache files > rm -fr ~/.pdepend/*