我的測試代碼充滿了最終的靜態類。雖然我們無法對它進行重構以獲得更好的測試,但我有一箇中間解決方案,它在它自己的過程上運行幾個小測試。並且一切正常。但我沒有覆蓋報道,因爲一個覆蓋另一個。如何多次運行php單元並連接覆蓋率報告?
我目前在三葉草生成報告,但我很開放其他報告。
我的測試中,只有當PHPUnit的運行爲工作:
/home/y/bin/phpunit --coverage-html clover --coverage-clover clover/report.xml --include-path src/ tests/aTest.php
OK (1 test, 1 assertions)
/home/y/bin/phpunit --coverage-html clover --coverage-clover clover/report.xml --include-path src/ tests/bTest.php
OK (1 test, 1 assertions)
/home/y/bin/phpunit --coverage-html clover --coverage-clover clover/report.xml --include-path src/ tests/cTest.php
OK (1 test, 1 assertions)
但是,這將導致在每次運行wipping從以前的報告。所以我只得到最後一個報告。如果我試圖運行它們,因爲phpunit希望生成完整的報告,我有失敗,因爲我的所有類都包含它們自己的靜態類。
/home/y/bin/phpunit --coverage-html clover --coverage-clover clover/report.xml --include-path src/ tests/
. (first test pass)
PHP Fatal error: Cannot redeclare class Something
make[1]: *** [phpunit_run] Error 255
(但因爲是他們的意思不正是......上面會甚至--process-isolation --no-globals-backup
失敗) - 這是尚未就如何正確地讓PHP單元進程隔離另一個問題。我沒事跑了好幾次,我只想要一個全覆蓋報告:)
有沒有什麼辦法讓測試正常運行(在幾個過程,即避免受污染的全球一流的聲明空間)之類的第一碼塊,但仍然有全面的代碼覆蓋率報告?
謝謝!