Библиотеки тестирования php . Как работать с / использовать или даже пользоваться PHPunit

Модульное тестирование

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

да. библиотека это хорошая. советую .

_________ _ _ ______
dthcbz фкн вгу and co

vedro-compota's picture

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-tap Log test execution in TAP format to file.
--log-json Log test execution in JSON format.

--coverage-clover Generate code coverage report in Clover XML format.
--coverage-html

Generate code coverage report in HTML format.
--coverage-php Serialize PHP_CodeCoverage object to file.
--coverage-text= Generate code coverage report in text format.
Default to writing to the standard output.

--testdox-html Write agile documentation in HTML format to file.
--testdox-text Write agile documentation in Text format to file.

--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.
--printer
TestSuiteListener implementation to use.
--repeat Runs the test(s) repeatedly.

--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.
--no-configuration Ignore default configuration file (phpunit.xml).
--include-path
Prepend PHP's include_path with given path(s).
-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>

_____________
матфак вгу и остальная классика =)