Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
PhpInlineTest - script to run inline tests for PHP functions and class methods
PHP
branch: master

Merge pull request #2 from OlegLMP/patch-1

fix bug: tests do not fail on notices and warnings
latest commit 897c201894
@ptrofimov authored
Failed to load latest commit information.
README.md Update README.md
example.php updated readme.md
phpinlinetest.php fix bug: tests do not fail on notices and warnings

README.md

PhpInlineTest English version

PhpInlineTest is script to run inline tests for PHP functions and class methods

WTF is inline tests?

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.

How to use? It is easy:

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 Русская версия

PhpInlineTest - это скрипт для запуска inline-тестов для PHP функций и методов класса

Что это еще такое за inline-тесты?

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

Something went wrong with that request. Please try again.