Библиотеки тестирования php . Как работать с / использовать или даже пользоваться PHPunit
Primary tabs
1) Подобно автору этой статьи я также буду использовать PHPUnit библиотеку тестирования .
Автор приведённой выше статьи начал откуда-то с середины(раз уж про новичков упомянул) - нам требуется сначала установить PHPUnit , а потом только разбираться с ним.
Итак напишу здесь об установке PHPUnit
____________________
2) После установки , нам , безусловно хочет узреть результат тестирования.
Для тестирования создаёте файл .php с таким вот содержимым =
<?php require_once 'PHPUnit/Autoload.php'; class MyClassTest extends PHPUnit_Framework_TestCase { public function testPower() { $my = new MyClass(); $this->assertEquals(8, $my->power(2, 3)); } } class MyClass { public function power($x, $y) { return pow($x, $y); } } ?>
вообще говоря, в простейшем случае в командной строке перейти в директорию, в которой храниться этот вот новоявленный файл и выполнить команду =
phpunit phpunit-test.php
то есть в винде , с учётом наличия пути к файлу будет что-то типа =
C:\data\localhost\www\tp\world-shared-folders\att2\cinf\lib1>phpunit phpunit-tes.php
да, кстати, - как вы уже успели заметить - я назвал файл phpunit-tes.php -но вообще , о том как именовать читайте здесь.
3) Но хочется всё-же обойтись без командной строки - если вы тоже желаете тестировать без неё - тогда вам сюда
4) Все примеры занимаются в основном тестированием классов, но что если мы хотим протестировать фукцию?
В принципе можно просто создать класс, одним из методов которого сделать функцию - можно даже использовать указатель
Здесь вы можете ознакомиться с примером тестирования функций с помощью PHPUnit
_____________________________________________
Источники(читать подробнее)=
http://habrahabr.ru/blogs/php/56289/
PHPUnit (http://www.phpunit.de/)
SimpleTest (http://www.simpletest.org/
http://phpclub.ru/detail/article/phpunit
PHPUnit. Автоматические тесты
Unit test cases
____________________________________
Ключевые слова и фразы(для поиска)=
тест функции phpunit
- Log in to post comments
- 6256 reads
tata_la
Thu, 12/29/2011 - 23:46
Permalink
да. библиотека это хорошая.
да. библиотека это хорошая. советую .
_________ _ _ ______
dthcbz фкн вгу and co
vedro-compota
Wed, 01/04/2012 - 18:59
Permalink
Microsoft Windows XP [Версия
Microsoft Windows XP [Версия 5.1.2600]
(С) Корпорация Майкрософт, 1985-2001.
C:\Documents and Settings\rooter>phpunit
PHPUnit 3.6.7 by Sebastian Bergmann.
Usage: phpunit [switches] UnitTest [UnitTest.php]
phpunit [switches]
--log-junit Log test execution in JUnit XML format to file. Log test execution in TAP format to file. Log test execution in JSON format.
--log-tap
--log-json
--coverage-clover Generate code coverage report in Clover XML format. Generate code coverage report in HTML format. Serialize PHP_CodeCoverage object to file. Generate code coverage report in text format.
--coverage-html
--coverage-php
--coverage-text=
Default to writing to the standard output.
--testdox-html Write agile documentation in HTML format to file. Write agile documentation in Text format to file.
--testdox-text
--filter
Filter which tests to run.
--group ... Only runs tests from the specified group(s).
--exclude-group ... Exclude tests from the specified group(s).
--list-groups List available test groups.
--loader TestSuiteLoader implementation to use.
TestSuiteListener implementation to use. Runs the test(s) repeatedly.
--printer
--repeat
--tap Report test execution progress in TAP format.
--testdox Report test execution progress in TestDox format.
--colors Use colors in output.
--stderr Write to STDERR instead of STDOUT.
--stop-on-error Stop execution upon first error.
--stop-on-failure Stop execution upon first error or failure.
--stop-on-skipped Stop execution upon first skipped test.
--stop-on-incomplete Stop execution upon first incomplete test.
--strict Run tests in strict mode.
-v|--verbose Output more verbose information.
--debug Display debbuging information during test execution.
--skeleton-class Generate Unit class for UnitTest in UnitTest.php.
--skeleton-test Generate UnitTest class for Unit in Unit.php.
--process-isolation Run each test in a separate PHP process.
--no-globals-backup Do not backup and restore $GLOBALS for each test.
--static-backup Backup and restore static attributes for each test.
--bootstrap A "bootstrap" PHP file that is run before the tests.
-c|--configuration Read configuration from XML file.
Prepend PHP's include_path with given path(s).
--no-configuration Ignore default configuration file (phpunit.xml).
--include-path
-d key[=value] Sets a php.ini value.
-h|--help Prints this usage information.
--version Prints the version and exits.
--debug Output debugging information.
C:\Documents and Settings\rooter>cd /
C:\Documents and Settings\rooter>cd\
C:\>cd data
C:\data>cd www
Системе не удается найти указанный путь.
C:\data>cd localhost
C:\data\localhost>cd www
C:\data\localhost\www>cd tp
C:\data\localhost\www\tp>cd att2
Системе не удается найти указанный путь.
C:\data\localhost\www\tp>cd\world-shared-folders
Системе не удается найти указанный путь.
C:\data\localhost\www\tp>cd world-shared-folders
C:\data\localhost\www\tp\world-shared-folders>cd att2
C:\data\localhost\www\tp\world-shared-folders\att2>cd lib1
Системе не удается найти указанный путь.
C:\data\localhost\www\tp\world-shared-folders\att2>cd cinf
C:\data\localhost\www\tp\world-shared-folders\att2\cinf>cd lib1
C:\data\localhost\www\tp\world-shared-folders\att2\cinf\lib1>phpunit phpunit-tes
t.php
PHPUnit 3.6.7 by Sebastian Bergmann.
.
Time: 1 second, Memory: 2.75Mb
OK (1 test, 1 assertion)
C:\data\localhost\www\tp\world-shared-folders\att2\cinf\lib1>
_____________
матфак вгу и остальная классика =)