PhpInlineTest is script to run inline tests for PHP functions and class methods
Inline tests are asserts embedded right into PHPDOC-comments.
Benefits
- Easy and fast to add tests for your functions.
- Tests can complement/replace documentation for method.
- Can be written for private/protected class methods.
- You will never lose them: they are always inside scripts.
Downsides
- Good only for simple test cases.
- Can be written only for isolated functions: input - arguments, output - return value.
Step 1. Write assert line in PHPDOC-comment for class method or function:
<?php
class A {
/**
* Inline test example
* for private class method
* @assert (2, 2) == 4
*/
private function _add($a, $b) {
return $a + $b;
}
}
Step 2. Download latest version of phpinlinetest.
Step 3. Run phpinlinetest to check your asserts:
$ php phpinlinetest.php
.\example.php
Test "_add(2, 2) == 4": OK
Files: 1, tests: 1, succeed: 1, failed: 0
Step 4. Enjoy!
PhpInlineTest - это скрипт для запуска inline-тестов для PHP функций и методов класса
Inline-тесты - это тесты, встроенные непосредственно в PHPDOC-комментарии.
Плюсы
- Легко и быстро можно добавить тесты для ваших функций.
- Тесты могут замещать/дополнять документацию для метода.
- Могут быть написаны для закрытых методов класса.
- Вы никогда не потеряете их: тесты всегда внутри скрипта.
Минусы
- Подходят только для простых случаев.
- Могут быть написаны только для изолированных функций: вход - аргументы, выход - возвращаемое значение.
Шаг 1. Напишите строку теста функции в PHPDOC-комментарии:
<?php
class A {
/**
* Пример inline-теста
* для закрытого метода класса
* @assert (2, 2) == 4
*/
private function _add($a, $b) {
return $a + $b;
}
}
Шаг 2. Скачайте последнюю версию phpinlinetest.
Шаг 3. Запустите phpinlinetest, чтобы проверить ваши тесты:
$ php phpinlinetest.php
.\example.php
Test "_add(2, 2) == 4": OK
Files: 1, tests: 1, succeed: 1, failed: 0
Шаг 4. Наслаждайтесь!
Keywords: phpinlinetest, php, inline, test, unit, doctest, testing, documentation, phpdoc, comments, methods, private