Отметьте класс тестирования PHPUnit, чтобы его можно было игнорировать

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

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

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

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

Ответ 1

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

Ответ 2

Предполагая, что вы хотите исключить имя файла 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();
    }

//...

Ответ 3

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

protected function setUp()
{
    $this->markTestIncomplete();
}