Запретить-todo-тесты на PHPUnit 7.5.6

#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.

http://docs.phpdoc.org/references/phpdoc/tags/todo.html