Настройка имен файлов для PHPUnit - PullRequest
6 голосов
/ 18 января 2012

Я новый пользователь PHPUnit, и я преобразовываю наши существующие тесты (утверждения) в среду PHPUnit, чтобы обеспечить лучшую среду тестирования и покрытие кода. Однако мне нужно знать, как попытаться заставить PHPUnit работать с нашей структурой кода тестирования.

Наши каталоги проектов похожи на следующие:
Приложение1 /
CREDIT_CARD.class - соглашение об именах классов для CREDIT_CARD
CREDIT_CARD.class.test - Автоматические тесты для CREDIT_CARD.class
File.php - файл приложения
File.php.test - Автоматические тесты для File.php
File2.php
File2.php.test - Автоматические тесты для File2.php

Application2 /
ANOTHER_CLASS.class
ANOTHER_CLASS.class.test
DifferentFile.php - Файл приложения
DifferentFile.php.test - Автоматические тесты для File.php

lib /
UTIL /
SHARED_CLASS.class
SHARED_CLASS.class.test
VISUAL /
VISUAL_TOOL.class
VISUAL_TOOL.class.test

Мне нужно знать, как настроить тесты PHPUnit, чтобы я мог запускать тесты в lib / UTIL / .test (которые загружают файл класса с помощью метода setUp ()), а затем в lib / VC / .test с последующим (в случае успеха) тестами Application1 и Application2. Я видел упоминание файла PHPUnit_xml и файла начальной загрузки, но не могу найти справочный шаблон, чтобы увидеть, нужны ли они мне. Любая помощь будет оценена.

Я знаю, что документация относится к добавлению test.php к именам файлов, но я надеюсь, что не нужно менять нашу структуру и соглашения об именах, поскольку я хотел бы иметь возможность запускать смесь файлов до тех пор, пока они не будут все преобразовано в среду PHPUnit. Изменение имен приведет к смене процедуры в нашей компании и обучению разработчиков, которых я стараюсь избегать.

Заранее благодарим за любую помощь.

1 Ответ

7 голосов
/ 19 января 2012

Таким образом, у вас есть файлы с именем Foo.class.test вместо значения по умолчанию для PHPUnit FooTest.php?

Это не должно быть большой проблемой, поскольку PHPUnit позволяет вам настраивать суффиксы файлов, которые будут рассматриваться как "тесты".».Test.php - это просто значение по умолчанию.

Посмотрите на xml config part of the docs regard test organisation

То, что вы хотите:

 <testsuites>
    <testsuite name="Our new shiny phpunit test Suite">
      <directory suffix=".test">./sourceFolder</directory>
    </testsuite>
  </testsuites>

Затем PHPUnit просканирует исходную папку, включая все файлы, заканчивающиеся на .class.test, и оставит другие файлы без изменений.

...