Как исключить файл из набора тестов PHPUnit в конфигурации xml?

У меня есть следующее, очень простое, конфигурация XML для PHPUnit:


    
        
            _tests
        
    

Как исключить определенный файл в этом каталоге от набора тестов? Я попробовал и , но это, кажется, не работает в этом контексте. Также не мог найти никакую другую документацию, чем phpunit.de один, который ничего не упоминает об этом. Еще, чем это, эта конфигурация работает отлично.

37
задан Ondrej Slinták 29 April 2010 в 14:05
поделиться

2 ответа

Есть несколько способов не запускать тот или иной тест. Помещение его в черный список, чтобы он никогда не запускался, может быть неправильным, поскольку его изменение означает редактирование черного списка, и в конечном итоге вы часто будете возвращать и возвращать его. контроля версий.

Есть несколько других способов, которые могут быть более подходящими:

Если тест еще не готов к запуску:

$this->markTestIncomplete('This test has not been implemented yet.');

Если есть внешняя причина, по которой его не следует запускать, пропустите его:

if (!extension_loaded('mysqli')) {
    $this->markTestSkipped('The MySQLi extension is not available.');
}

Вы также можете поместите это в функцию setUp () , чтобы она пропустила все тесты в тестовом классе.

Вы можете сделать тест зависимым от успешного выполнения предыдущего:

public function testEmpty()
{
    $stack = array();
    $this->assertTrue(empty($stack));
    return $stack;   // also sends this variable to any following tests - if this worked
}
/**
 * only runs if testEmpty() passed
 *
 * @depends testEmpty
 */
public function testPush(array $stack)
{
}

Аннотация @group -name- - один из лучших способов специально остановить или запустить одну группу тестов

/**
 * @group database
 * @group remoteTasks
 */
public function testSomething()
{
}

testSomething () теперь разделен на две группы, и если любой из них добавлен в командной строке (или в config.xml) - параметр exclude-group . он не будет запущен. Точно так же вы можете запускать только тесты, которые принадлежат определенной группе - скажем, названные в честь функции или отчет об ошибке.

37
ответ дан 27 November 2019 в 04:28
поделиться

Привет, Make убедитесь, что вы поместили свои исключения в белый список. Пример:

<phpunit>
    <filter>
        <blacklist>
            <directory suffix=".php">/not/even/looked/at/</directory>
        </blacklist>
        <whitelist>
            <directory suffix=".php">/path/to/test/dir/</directory>
            <exclude>
                <file suffix=".php">/path/to/fileToExclude.php</file>
            </exclude>
        </whitelist>
    </filter>
</phpunit>

http://www.phpunit.de/manual/current/en/appendixes.configuration.html#appendixes.configuration.blacklist-whitelist

-4
ответ дан 27 November 2019 в 04:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: