Раздел вопрос-ответ Как исключить определённую директорию из тестов phpunit?

Как исключить определённую директорию из тестов phpunit?

share

1 ответ

В официальной доке по phpunit можно найти что-то подобное, использовать <filter><whitelist><exclude> в phpunit.xml для исключения директории, но сколько я не пробовал исключать директорию, у меня то запускались все тесты, то не запускались вовсе (PHPUnit 3.7.27) 

<?xml version="1.0" encoding="utf-8"?>
<phpunit>
  <filter>
    <whitelist>
      <directory suffix=".php">../</directory>
      <exclude>
        <file>../ext_emconf.php</file>
        <directory suffix=".php">../tests/exclude</directory>
      </exclude>
    </whitelist>
  </filter>
</phpunit>

Исключаем группу тестов в phpunit

Вариант с --exclude-group точно рабочий, пример запуска тестов с исключением Group1:

phpunit --bootstrap=tests/bootstrap.php --exclude-group=Group1 tests/

Группу нужно назначить в тестируемых файлах в Doc-блоке как @group@group можно назначать как на класс целиком, так и на отдельные методы.

<?php

/**
 * @group Group1
 */
class Class_ExampleTest extends PHPUnit_Framework_TestCase
{
	public function testOne()
	{
		$this->assertTrue(true);
	}

	/**
	 * @group Hz
	 */
	public function testTwo()
	{
		$this->assertTrue(false);
	}
}

Для примера выше, исключить из тестов phpunit целиком класс (включен в группу Group1):

phpunit --bootstrap=tests/bootstrap.php --exclude-group=Group1 tests/

Исключить из запуска тестов phpunit только метод testTwo (включен в группу Hz):

phpunit --bootstrap=tests/bootstrap.php --exclude-group=Hz tests/

Для написания тестов вам могут понадобиться все типы assert в phpunit.

Добавить комментарий
    как минимум 5 символов

    icon Вход в систему

    зарегистрироваться