PHPUnit 模拟类方法未显示在代码覆盖率报告中



我正在用 magento2 做一个 php 项目。我正在使用模拟对象来编写单元测试用例。我开始知道,当我生成代码覆盖率报告时,模拟类和方法不会显示为代码覆盖率报告中涵盖的内容,有什么方法可以显示这些吗?

我查看了官方回购,它被提及为默认行为。

参考: https://github.com/sebastianbergmann/phpunit-mock-objects/issues/123

任何帮助非常感谢!

谢谢

模拟方法未显示为已覆盖,因为它们的代码未执行(它们被存根,仅返回预定义的值,并且从未调用原始代码(。

您可以执行以下几项操作:

  • 如果Magento 2有自己的测试,请执行它们。这样,magento测试的覆盖范围将添加到您的测试中。
  • 上述观点实际上没有多大意义,因此最好忽略代码覆盖率报告中的 magento 路径。
  • 添加实际通过Magento代码的集成测试。这是您将要进行的唯一真正的测试。当您模拟 magento 方法时,您只需验证您的代码是否正确调用该方法或它是否正确地与预期的返回值一起使用。您永远不会验证该方法调用是否确实执行了您的预期

最新更新