#php #phpunit
#php #phpunit
Вопрос:
Я пытаюсь использовать опцию phpunit --disallow-todo-tests
, чтобы игнорировать некоторые тесты, которые необходимо написать.
—запретить-todo-тесты
Не выполняет тесты, которые имеют аннотацию @todo в своем docblock.
Я перепробовал много способов. Вот несколько примеров:
/**
* @test
* @todo: implement this
*/
public function my_random_test(): void
{
$this->assertTrue(false);
}
/**
* @todo: implement this
*/
public function test_my_another_random_test(): void
{
$this->assertTrue(false);
}
public function test_this_one_is_also_random(): void
{
/**
* @todo: implement this
*/
$this->assertTrue(false);
}
/**
* @test
* @todo implement this
*/
public function another_test(): void
{
$this->assertTrue(false);
}
Также написал без :
, @
или что-то в этом роде @todo-annotated
… Ничего не работает. Я всегда получаю сбои.
У меня есть phpunit.xml файл
<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
backupStaticAttributes="false"
bootstrap="vendor/autoload.php"
colors="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false">
<testsuites>
<testsuite name="Unit">
<directory suffix="Test.php">./tests/Unit</directory>
</testsuite>
<testsuite name="Feature">
<directory suffix="Test.php">./tests/Feature</directory>
</testsuite>
</testsuites>
<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">./app</directory>
</whitelist>
</filter>
<php>
<env name="APP_ENV" value="testing"/>
<env name="BCRYPT_ROUNDS" value="4"/>
<env name="CACHE_DRIVER" value="array"/>
<env name="MAIL_DRIVER" value="array"/>
<env name="QUEUE_CONNECTION" value="sync"/>
<env name="SESSION_DRIVER" value="array"/>
</php>
</phpunit>
Ответ №1:
@todo
за двоеточием не должно следовать. Вот почему phpunit не находит ваши аннотации к todo.