Автоматический запуск тестов PHPUnit с Arcanist (Phabricator)
"Простой" вопрос: как я могу автоматически запускать тесты PHPunit с Arcanist?
Согласно документации, я должен сначала загрузить пользовательскую библиотеку. Как указано здесь, я должен создать .arcconfig
файл и загрузить соответствующую библиотеку.
Итак: я создал dir "arc_libs" в моем проекте и в dir "src" я использовал arc liberate
генерировать необходимые файлы. Мой конфиг сейчас:
{
"project.name" : "arc_libs",
"phabricator.uri" : "https://phabricator.xxx.xxx.net/",
"unit.engine" : "PhpunitTestEngine",
"load" : ["arc_libs/src"]
}
Библиотека загружается, потому что я могу запустить arc unit
[matthijs@xx xxx]$ arc unit
No tests to run.
Но, как вы видите, тестов для запуска нет. Мы храним наши тесты в "project_root/tests" и, насколько я понимаю в документации, я должен создать каталог __tests__ в "модуле" (возможно, мой каталог arc_libs?)
Однако я хочу запустить мои существующие тестовые файлы PHPunit, а не новые тесты, которые мне нужно создать. Я пытался использовать символическую ссылку и т. Д., Но я не могу заставить ее работать. Arcanist не обнаруживает мои тесты.
Итак, мой вопрос: как я могу автоматически запускать мои СУЩЕСТВУЮЩИЕ тесты PHPunit с помощью arcanist?
(обратите внимание, мы используем arc diff
это должно бежать arc unit
автоматически)
2 ответа
$ arc unit --help
unit [options] [paths]
unit [options] --rev [rev]
Supports: git, svn, hg
Run unit tests that cover specified paths. If no paths are specified,
unit tests covering all modified files will be run.
По умолчанию arc lint и arc unit предназначены для использования как часть процесса внесения изменений, поэтому по умолчанию он действует только для измененных файлов. Скорее всего, у вас нет никаких измененных файлов. Вы, вероятно, хотите указать несколько путей или запустить arc unit --everything
запустить все тесты.
Связанная с вами документация не будет очень полезной - она предназначена для разработчиков Phabricator, которые хотят протестировать свои библиотеки. Существует некоторая пользовательская документация для настройки задач модульного тестирования, но она не очень хороша. К счастью, Arcanist довольно легко запустить модульные тесты вашего проекта, используя PhpunitTestEngine
:
- Подготовить
phpunit.xml
файл в корне вашего проекта. Это должен быть стандартный файл конфигурации PHPUnit. Вы можете проверить это, запустивphpunit -c phpunit.xml
, Добавить
phpunit_config
вариант вашего.arcconfig
:{ "phabricator.uri": "https://phabricator.xxx.xxx.net/", "unit.engine": "PhpunitTestEngine", "phpunit_config": "phpunit.xml" }
- Бежать
arc unit
чтобы проверить это.
Несмотря на то, что пользовательская документация очень тонкая, исходный кодPhpunitTestEngine
имеет некоторые комментарии и довольно лаконичен. Если у вас возникнут проблемы, чтение кода тестового движка поможет вам его отследить.