Что ж, самый простой / быстрый обходной путь выглядит так: «Не используйте задачу phing, но начните использовать« реальный »вывод phpunit.
Так работает <exec command="phpunit ... "> [...]
и используйте --coverage-html, опубликуйте это в hudson и используйте --coverage-clover и переключатель junit, чтобы получить информацию о покрытии в hudson. (См. jenkins-php.org или Setting up jenkins for php projects (there is a demo phpunit.xml.dist)
для справки)
Но скорее всего, вы не хотите, чтобы: /
Говорят, from the Phing docs of the phpunit task
Я не вижу способа напрямую сказать phing использовать --process-isolation
switch.
Так что, возможно, у кого-то есть решение для этого. У меня нет той, которая все еще будет производить покрытие кода.
Из комментариев
Я собираюсь предположить, что у вас есть 2 отдельных фрагмента тестового кода, которые не могут быть запущены в одном процессе, так что было бы идеально, если бы вы могли сказать:
run 2 processes: "testsuite one do that, testsuite two do the other thing"
after that aggregate the results
К сожалению, я не знаю, как вы могли бы сказать phpunit сделать это. Я буду исследовать дальше, но пока единственное, что я знаю, что работает наверняка, - это использование --process-isolation
каждого теста во всем комплекте тестов. Если есть способ запустить весь пакет в одном отдельном процессе, я не знаю об этом.
Надеюсь, у кого-то есть более простое решение этого вопроса:)