То, чтобы заставлять PHPUnit проигнорировать вещи?

Чем больше я читал об этом, тем больше я думаю, что некоторые модульные тесты точно так же, как некоторые шаблоны: запах недостаточных языков.

, Когда необходимо протестировать, возвращает ли тривиальный метод считывания на самом деле правильное значение, это - потому что можно смешать имя метода считывания и членское имя переменной. Войдите 'attr_reader: название' рубина, и этого не может больше происходить. Просто не возможный в Java.

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

6
задан Allain Lalonde 12 September 2009 в 01:23
поделиться

3 ответа

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

$ phpunit --help
PHPUnit 3.4.0beta5 by Sebastian Bergmann.

Usage: phpunit [switches] UnitTest [UnitTest.php]
       phpunit [switches] <directory>
...
  --filter <pattern>       Filter which tests to run.
  --group ...              Only runs tests from the specified group(s).
  --exclude-group ...      Exclude tests from the specified group(s).
  --list-groups            List available test groups.
...

Те, вероятно, не позволят указать именно то, что вы хотели ... Но они могут помочь.

Подробнее см. Средство выполнения тестов командной строки


Мне особенно нравится групповая функция: просто используйте тег @group в phpdoc ваших тестов, чтобы перегруппировать их (например, по одной группе на «фрагмент функциональности») ; а после этого можно использовать параметры - group или - exclude-group в командной строке, чтобы указать, какие тесты следует или не следует запускать.

В в вашем случае, если вы не можете изменить тесты, возможно, может помочь опция --filter, в зависимости от названия ваших тестов (т. е. если есть способ идентифицировать те, которые вы хотите запустить) :

- filter
Выполняет только те тесты, имя которых соответствует заданному шаблону. Выкройка может быть либо название отдельного теста, либо регулярное выражение, которое соответствует несколько имен тестов.


Другое решение, если вы не всегда меняете «группы» тестов для запуска, может заключаться в использовании набора тестов, который включает только те тесты, которые вы хотите запустить.

Например, возьмите см. Составление набора тестов с использованием конфигурации XML .

15
ответ дан 8 December 2019 в 03:53
поделиться

Я просмотрел все руководство PHPUnit и ничего не нашел. Вы можете игнорировать код для целей тестирования, но это все. Однако в этом журнале изменений (в явном ответвлении) упоминается, что он будет «игнорировать имена тестовых файлов с префиксом . ». Я этого не пробовал, но попробовать стоит. Или вы можете прокомментировать тест. Я предполагаю, что вам нужно что-то вроде предложений NUnit, в которых он будет сообщать об проигнорированных тестах; Ничего подобного не нашел.

1
ответ дан 8 December 2019 в 03:53
поделиться

Я понимаю, что это старый вопрос с принятым ответом, поэтому я надеюсь, что я не вторгаюсь, но я просто хотел отметить для завершения, что можно пропустить тесты . Неполные и пропущенные тесты не выполняются PHPUnit.

Конечно, это на уровне теста - однако вы можете закрепить это, поместив его в класс ' setUp () .

Просто хедз-ап.

4
ответ дан 8 December 2019 в 03:53
поделиться
Другие вопросы по тегам:

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