Как команда phpunit выполняет тестирование класса поиска? - PullRequest
3 голосов
/ 01 июля 2011

Я использую Windows. Например, у меня есть какой-то веб-сайт со структурой чего-то вроде этого:

site/
    engine/
       ModelClass.php
    www/
       index.php
    tests/
       ModelCalssTest.php
phpunit.bat

Где должен храниться phpunit.bat для запуска test ModelClassTest.php?

Ответы [ 2 ]

3 голосов
/ 01 июля 2011

Вам вообще не нужно хранить phpunit.bat. Это должно быть в вашем PATH.

Просто установите его через PEAR и все готово. Если вы не хотите этого делать, и у вас есть это локально в системе или вы хотите, чтобы источники phpunit в вашем контроле версий (некоторые люди этого хотят), не имеет значения, где на самом деле находится ваш phpunit.bat. Корень проекта в порядке, где-то в vendor/phpunit/phpunit.bat тоже хорошо, если у вас есть файл ant, phing или .bat в корне проекта, который позволяет вам сказать "run tests now".


То, что я сейчас наблюдаю как «передовой опыт», - это поместить ваш phpunit.xml.dist (файл конфигурации) в корень приложения , чтобы люди могли просто:

  • получить источник
  • тип phpunit
  • вижу, что все работает

См .: a sample project made by the phpunit author

Я также видел, что люди помещают этот конфигурационный файл в свою папку «tests», чтобы иметь «чистый корень проекта». Также хорошо работает.

Справочные материалы: Documentation on the phpunit xml file

2 голосов
/ 01 июля 2011

У меня обычно есть исполняемый файл phpunit в моем PATH, и я держу структурированный каталог для тестов, похожих на ваш.Затем вы должны настроить свой phpunit, используя xml-файл , в который вы можете включить общие параметры и, что наиболее важно, файл начальной загрузки, который содержит единовременную настройку, необходимую для ваших тестов.если вы поместите XML-файл в папку тестов, вы можете иметь такую ​​структуру

tests
├── bootstrap.php
├── TestEnvironment.php
├── application
│   ├── controllers
│   │   └── IndexControllerTest.php
│   ├── forms
│   │   └── UserTest.php
│   ├── helpers
│   │   └── Html2TxtTest.php
│   └── modules
│       └── admin
│           └── models
│               ├── LayoutManagerTest.php
│               ├── ScriptOptionsTest.php
│               ├── ServiceTest.php
│               ├── TemplatesTest.php
│               └── UsersFinderTest.php
└── phpunit.xml

и запускать тесты, как вам нужно, с помощью таких команд, как

phpunit # run all tests
phpunit application # run all tests inside application folders
phpunit application/forms/UserTest.php # run all tests inside the given file

Итак, насколько выЕсли у вас есть phpunit в PATH, нет проблем с его запуском, если у вас его нет в PATH, подумайте, поместите его в папку tests и запустите оттуда.

Это хорошо работает в средах Unix, ноэто должно работать и на Win32.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...