Килограмм килобайтов

  Все выпуски  

Килограмм килобайтов


Килограмм килобайтов

Сайт рассылки: Smarty IT Выпуск No75, 2010-04-20
Блог рассылки в Живом Журнале
"Следуйте за моим твитом..."
День рождения
Статьи
 
СУБД Oracle
Операционные системы
Программирование
WEB-программирование
PHP
Zend Framework
Java
Тестирование

Здравствуйте, уважаемые подписчики.

Предлагаю Вашему вниманию статью из SmartyIT - Каталога статей для программиста.


PHPUnit. Часть 06 Дополнительные возможности

PHPUnit. Часть 06 Дополнительные возможности

v:1.0 01.04.2010

Перевод статьи Chapter 8. TestCase Extensions.
Автор: Sebastian Bergmann
Перевод: Петрелевич Сергей

Предисловие переводчика
Эта статья продолжает серию переводов официальной документации по PHPUnit на русский язык.
Часть 1, Часть 2, Часть 3, Часть 4, Часть 5,

PHPUnit предлагает ряд возможностей, которые расширяют функционал базовых классов.

Вывод результатов тестирования

Иногда, Вам может понадобиться проверить, что выполнение метода генерирует ожидаемый результат (например через echo или print).
Класс PHPUnit_Extensions_OutputTestCase предоставляет Вам эту возможность. Этот класс использует буферизацию вывода PHP.

Пример 8.1 демонстрирует как можно наследовать класс PHPUnit_Extensions_OutputTestCase и использовать его функцию expectOutputString(), чтобы задать ожидаемый вывод тестового метода. Если фактически полученный вывод не будет соответствовать ожиданиям, то тест будет отмечен как неудачный.

require_once 'PHPUnit/Extensions/OutputTestCase.php';

class OutputTest extends PHPUnit_Extensions_OutputTestCase
{
    public function testExpectFooActualFoo()
    {
        $this->expectOutputString('foo');
        print 'foo';
    }

    public function testExpectBarActualBaz()
    {
        $this->expectOutputString('bar');
        print 'baz';
    }
}
?>

* This source code was highlighted with Source Code Highlighter.
phpunit OutputTest
PHPUnit 3.4.2 by Sebastian Bergmann.

.F

Time: 0 seconds

There was 1 failure:

1) OutputTest::testExpectBarActualBaz
Failed asserting that two strings are equal.
--- Expected
+++ Actual
 @ -1 +1 @@
-bar
+baz

FAILURES!
Tests: 2, Assertions: 2, Failures: 1.

В Таблице 8.1 приведены методы класса PHPUnit_Extensions_OutputTestCase.

Таблица 8.1 Методы OutputTestCase

Метод Назначение
void expectOutputRegex(string $regularExpression) Вывод должен соответствовать заданному регулярному выражению $regularExpression.
void expectOutputString(string $expectedString) Вывод должен совпадать с заданной строкой $expectedString.
bool setOutputCallback(callable $callback) Задает функцию, которая должна быть вызвана, например, для нормализации фактического результата.

PHPUnit предлагает еще два расширения PHPUnit_Extensions_Database_TestCase и PHPUnit_Extensions_SeleniumTestCase, которые описаны в Главе 9 и Главе 18, соответственно.

Ведущий рассылки: Петрелевич Сергей


В избранное