dolibarr/test
Laurent Destailleur 7977897fd8 Fix: dol_uncompress function now works with all PHP and OS. Use PHP
native code. Only zip is supported. This is enough, modules must be zip
and only zip (tgz not more allowed).
2012-04-28 18:21:51 +02:00
..
phpunit Fix: dol_uncompress function now works with all PHP and OS. Use PHP 2012-04-28 18:21:51 +02:00
selenium Qual: More tests 2010-10-24 00:53:06 +00:00
soapui New: Add filter to search on suplier ref 2012-03-31 14:21:36 +02:00
.gitignore Update phpunit setup 2012-01-11 15:28:53 +01:00
README Update phpunit setup 2012-01-11 15:28:53 +01:00

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}

* 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.
Check that you use the "mysqli" driver in your conf.php file (otherwise edit the file phpunittest.xml).
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/*