我使用代码覆盖率运行phpunit,以便查看我的哪些类的测试较少。
我随意排除了一些文件夹,例如$folder = "c:\temp\MyDirectory\"
$bucket = "AWS BUCKET"
$folder = "FOLDER PREFIX"
aws s3 cp $folder s3://$bucket/$version/ --recursive
(Doctrine fixtures)和DataFixtures
(Sonata Admin类),这就是结果:
我注意到Admin
文件夹全部为红色,但它只包含带有大量标准getter和setter的类。 Entity
文件夹也是如此。
如何测试而不忽略?
答案 0 :(得分:0)
PHPUnit提供了一些方法来修改在yor测试中使用注释来跟踪coverage的方式,例如@covers
和@coversNothing
。您还可以使用@codeCoverageIgnore
从覆盖范围中排除代码的各个部分。文档中介绍了如何使用它们:https://phpunit.de/manual/current/en/code-coverage-analysis.html
运行测试时,您可以使用command line options修改其中一些设置:
--strict-coverage Be strict about @covers annotation usage.
--disable-coverage-ignore Disable annotations for ignoring code coverage.
如果您的问题不是源于限制这些实体的覆盖范围,您应该确定哪些测试使用它们来查看是否实际调用了这些方法。我可以想象你曾经嘲笑过他们,这就是为什么他们没有被掩盖。