Интегрировать тестовые сценарии PHPT с PHPUnit - PullRequest
13 голосов
/ 07 февраля 2011

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

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

Ответы [ 2 ]

5 голосов
/ 07 февраля 2011

Хотя основной смысл этого сообщения в блоге о тестировании закачки файлов заключается в том, чтобы описать, как писать тесты 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 в этом каталоге.

4 голосов
/ 11 июля 2015

В вашей конфигурации phpunit XML вы можете добавить набор тестов с именем 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 доступна по адресу:

...