Подтвердить что ты не робот

Интеграция тестовых примеров PHPT с PHPUnit

Как я могу заставить PHPUnit запускать тестовые примеры PHPT и интегрировать статус pass/fail в общие показатели? Я уже знаю, как запускать эти тесты с помощью run-phpt из командной строки, но я хочу запустить их из PHPUnit вместе с другим тесты.

Я знаю, что существует PHPUnit_Extensions_PhptTestCase, но я не мог найти никаких примеров того, как его использовать.

4b9b3361

Ответ 1

В то время как основной пункт этого сообщения в блоге о загрузке файлов с файлами заключается в том, чтобы описать, как писать тесты PHPT, показывает, как интегрировать их в PHPUnit в конце сообщения. Короче говоря, вы передаете абсолютный путь к файлу .phpt родительскому конструктору.

<?php
require_once 'PHPUnit/Extensions/PhptTestCase.php';

class UploadExampleTest extends PHPUnit_Extensions_PhptTestCase {
    public function __construct() {
        parent::__construct(__DIR__ . '/upload-example.phpt');
    }
}

В качестве альтернативы вы можете использовать класс PHPUnit_Extensions_PhptTestSuite, который принимает каталог как свой первый аргумент конструктора и затем ищет все *.phpt файлы в этом каталоге.

Ответ 2

В вашей конфигурации XML phpunit вы можете добавить testuite с именем PHPT (или любое другое имя) и указать каталог, в который вы разместили файлы .phpt, с суффиксом, установленным на ".phpt". Затем Phpunit выполнит все phpt-test файлы из этого каталога:

<testsuites>
    <testsuite name="Main Test Suite">
        <directory>test</directory>
    </testsuite>
    <testsuite name="PHPT Test Suite">
        <directory suffix=".phpt">test/phpt</directory>
    </testsuite>
</testsuites>

В этом примере каталог test/phpt содержит файлы .phpt.

Информация о формате, в котором структурированы и написаны тесты .phpt, доступна по глубине: