Пометьте тестовый класс PHPUnit как игнорируемый - PullRequest
17 голосов
/ 09 мая 2011

Я написал абстрактный класс тестового примера, который должен быть расширен конкретными классами тестового примера.

Он распространяется на PHPUnit_TestCase .

Есть ли методили аннотация, которая сигнализирует Phpunit не выполнять этот абстрактный тест (но не помечает его как пропущенный или неполный)?

Прямо сейчас Phpunit также запускает абстрактный класс теста и затем сообщает об ошибке, что он не может создать его экземпляр- по языку: абстрактный класс не может быть создан.

Ответы [ 3 ]

16 голосов
/ 09 мая 2011

Если он назван FooTest, переименуйте его в FooTestCase.

9 голосов
/ 16 сентября 2016

Просто добавьте пропуск в setUp ():

protected function setUp()
{
    $this->markTestIncomplete();
}
7 голосов
/ 24 мая 2015

Если вы хотите исключить имя файла TestCase.php.Как и в моем случае, я использую этот класс в качестве абстрактного для всех моих тестовых классов, который сам по себе расширяет PHPUnit_Framework_TestCase.

Решение: добавьте это к вашему phpunit.xml

<testsuites>
    <testsuite name="BLABLA">
        <directory suffix=".php">./tests</directory>
        <exclude>./tests/TestCase.php</exclude>
    </testsuite>
</testsuites>

Мой TestCase.php пример:

<?php
namespace Foo\Bar\Tests;

use Mockery as M;
use PHPUnit_Framework_TestCase as PHPUnit;

/**
 * Class TestCase is the Parent test class that every test class must extend from.
 */
class TestCase extends PHPUnit
{

    public function __construct()
    {
        parent::__construct();
    }

//...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...