Ответ 1
Если он называется FooTest
, переименуйте его в FooTestCase
.
Я написал класс абстрактного теста, который должен быть расширен конкретными классами тестов.
Он распространяется от PHPUnit_TestCase.
Есть ли метод или аннотация, который сигнализирует Phpunit о том, чтобы не выполнять этот абстрактный тест (но не помечен как пропущенный или неполный)?
В настоящее время Phpunit также запускает абстрактный тестовый класс, а затем сообщает об ошибке, которую он не может создать, - это по языку: абстрактный класс не может быть создан.
Если он называется FooTest
, переименуйте его в FooTestCase
.
Предполагая, что вы хотите исключить имя файла 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();
}
//...
Просто добавьте пробел в setUp():
protected function setUp()
{
$this->markTestIncomplete();
}