1*f8369d7dSTobias SarnowskiDokuWiki Test Suite 2*f8369d7dSTobias Sarnowski============================================================================= 3*f8369d7dSTobias Sarnowski 4*f8369d7dSTobias SarnowskiContent of this document: 5*f8369d7dSTobias Sarnowski 6*f8369d7dSTobias Sarnowski * Requirements 7*f8369d7dSTobias Sarnowski * Installation of PHPUnit via Pear 8*f8369d7dSTobias Sarnowski * Running all Tests 9*f8369d7dSTobias Sarnowski * Create new Tests 10*f8369d7dSTobias Sarnowski * Known Bad Tests 11*f8369d7dSTobias Sarnowski * TODO for test framework 12*f8369d7dSTobias Sarnowski 13*f8369d7dSTobias Sarnowski 14*f8369d7dSTobias Sarnowski 15*f8369d7dSTobias SarnowskiRequirements 16*f8369d7dSTobias Sarnowski----------------------------------------------------------------------------- 17*f8369d7dSTobias Sarnowski 18*f8369d7dSTobias Sarnowski * PHP Unit 3.7 19*f8369d7dSTobias Sarnowski 20*f8369d7dSTobias Sarnowski 21*f8369d7dSTobias SarnowskiInstallation of PHPUnit via Pear 22*f8369d7dSTobias Sarnowski----------------------------------------------------------------------------- 23*f8369d7dSTobias Sarnowski 24*f8369d7dSTobias Sarnowski > pear config-set auto_discover 1 25*f8369d7dSTobias Sarnowski > pear upgrade 26*f8369d7dSTobias Sarnowski > pear install pear.phpunit.de/PHPUnit 27*f8369d7dSTobias Sarnowski 28*f8369d7dSTobias Sarnowski 29*f8369d7dSTobias SarnowskiRunning all Tests 30*f8369d7dSTobias Sarnowski----------------------------------------------------------------------------- 31*f8369d7dSTobias Sarnowski 32*f8369d7dSTobias Sarnowski > cd _testing/ 33*f8369d7dSTobias Sarnowski > phpunit 34*f8369d7dSTobias Sarnowski 35*f8369d7dSTobias SarnowskiPHPUnit will fail on some systems with the error 'headers already sent'. The 36*f8369d7dSTobias Sarnowskiknown workaround for that is to use the '--stderr' flag for PHPUnit: 37*f8369d7dSTobias Sarnowski 38*f8369d7dSTobias Sarnowski > phpunit --stderr 39*f8369d7dSTobias Sarnowski 40*f8369d7dSTobias Sarnowski 41*f8369d7dSTobias SarnowskiCreate new Tests 42*f8369d7dSTobias Sarnowski----------------------------------------------------------------------------- 43*f8369d7dSTobias Sarnowski 44*f8369d7dSTobias SarnowskiTo create a test for DokuWiki, create a *.test.php file within the tests/ 45*f8369d7dSTobias Sarnowskifolder. Please respect the folder structure and naming convention. Inside the 46*f8369d7dSTobias Sarnowskifile, implement a class, extending 'DokuWikiTest'. Every method, starting 47*f8369d7dSTobias Sarnowskiwith 'test' will be called as a test (e.g. 'testIfThisIsValid'); 48*f8369d7dSTobias Sarnowski 49*f8369d7dSTobias Sarnowski 50*f8369d7dSTobias SarnowskiTODO for the test framework 51*f8369d7dSTobias Sarnowski----------------------------------------------------------------------------- 52*f8369d7dSTobias Sarnowski 53*f8369d7dSTobias Sarnowski * test cross platform compatibility: especially test windows 54*f8369d7dSTobias Sarnowski * update http://www.dokuwiki.org/devel:unittesting 55*f8369d7dSTobias Sarnowski * optional: add helper methods to TestRequest for easy form submission 56*f8369d7dSTobias Sarnowski * createForm(), ... 57*f8369d7dSTobias Sarnowski 58*f8369d7dSTobias Sarnowski 59*f8369d7dSTobias SarnowskiMigration Protocol 60*f8369d7dSTobias Sarnowski----------------------------------------------------------------------------- 61*f8369d7dSTobias Sarnowski 62*f8369d7dSTobias SarnowskiThe following tests were not migrated: 63*f8369d7dSTobias Sarnowski 64*f8369d7dSTobias Sarnowski * inc/html_hilight (runkit) 65*f8369d7dSTobias Sarnowski * inc/indexer_idx_indexlengths (fs dependencies) 66*f8369d7dSTobias Sarnowski * inc/mail_send (integration test) 67*f8369d7dSTobias Sarnowski * inc/parser/parser_formatting 68*f8369d7dSTobias Sarnowski * inc/parser/xhtml_htmlphp (runkit) 69*f8369d7dSTobias Sarnowski * inc/parser/xhtml_links 70*f8369d7dSTobias Sarnowski 71