petrelevich (petrelevich) wrote,
petrelevich
petrelevich

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

Статья из SmartyIT - Каталога статей для программиста.


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

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

v:1.0 01.04.2010

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

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

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

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

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

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

<?php
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, соответственно.

Tags: autopost, php, phpunit, smarty it, web, Тестирование
Subscribe

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments