虽然测试运行,但代码覆盖率报告为0%

时间:2015-09-17 16:23:00

标签: yii2 code-coverage codeception

我无法设置代码覆盖率配置,报告始终为0%。我正在使用两个项目的代码覆盖,第一个用于:

  • Yii2
  • WebDriver模块

奇怪的东西:

  • 我有两个codeception.yml:
    • /tests/codeception.yml
    • /codeception.yml
  • c3.php不在root中。它位于/vendor/codeception/codeception/tests/data/claypit/c3.php
  • 我不确定我必须包含c3.php

就像我不确定哪个codeception.yml是正确的文件一样,我对这两个文件都有相同的配置。

actor: Tester
paths:
    tests: tests
    log: tests/_output
    data: tests/_data
    helpers: tests/_support
settings:
    bootstrap: _bootstrap.php
    colors: false
    memory_limit: 1024M
modules:
    config:
        coverage:
            enabled: true
            remote: false
            include:
                - /controllers/*
            c3_url: 'http://127.0.0.1/tmsO/#/'

我对第二个项目有同样的问题,不同之处在于我正在使用:

  • Yii1
  • PhpBrowser模块
  • 断言模块
  • REST模块

提前谢谢你。我真的需要帮助。

1 个答案:

答案 0 :(得分:1)

当您使用Codeception进行验收测试并使用PHPBrowser / WebDriver时,您需要远程覆盖(remote: true)。因此,它总是在控制台中说0%,但会保存在_output目录中。

在远程站点上,c3.php将收集所有需要的数据。因此,您需要在每次调用应用程序时都包含它。 (有关详细信息,请参阅https://github.com/Codeception/c3)。

您可以在此处找到有关设置代码覆盖率的文档:http://codeception.com/docs/11-Codecoverage