我的测试代码充满了最终的静态类。虽然我们无法对它进行重构以获得更好的测试,但我有一个中间解决方案,它在它自己的过程上运行几个小测试。并且一切正常。但我没有覆盖报道,因为一个覆盖另一个。如何多次运行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单元进程隔离另一个问题。我没事跑了好几次,我只想要一个全覆盖报告:)
有没有什么办法让测试正常运行(在几个过程,即避免受污染的全球一流的声明空间)之类的第一码块,但仍然有全面的代码覆盖率报告?
谢谢!