Codeception远程覆盖未合并

时间:2016-07-06 09:27:54

标签: php code-coverage codeception

我运行Codeception验收测试并获得结果:

enter image description here

如您所见,覆盖率为0%

然后我在 _output / acceptance.remote.coverage / index.html 的浏览器中打开覆盖率结果,并看到总覆盖率为81.13%

enter image description here

问题是:为什么覆盖结果没有合并而没有打印到控制台?我还必须编写单元测试来覆盖所有方法吗?

acceptance.suite.yml

class_name: AcceptanceTester
modules:
    enabled:
        - PhpBrowser:
            url: http://127.0.0.1:4444
        - \Helper\Acceptance

codeception.yml

actor: Tester
paths:
    tests: tests
    log: tests/_output
    data: tests/_data
    support: tests/_support
    envs: tests/_envs
settings:
    bootstrap: _bootstrap.php
    colors: true
    memory_limit: 1024M
coverage:
    enabled: true
    c3_url: http://127.0.0.1:4444
    remote: true
    whitelist:
        include:
            - src/*
        exclude:
            - tests/*
extensions:
    enabled:
        - Codeception\Extension\RunFailed

运行测试命令

codecept run --coverage --coverage-xml --coverage-html --coverage-text --fail-fast

版本

Codeception PHP Testing Framework v2.2.2
Powered by PHPUnit 5.4.6 by Sebastian Bergmann and contributors.

1 个答案:

答案 0 :(得分:0)

Codeception无法合并您的结果,如documentation

中所述
  

但是如果你在不同的服务器上运行测试[...],应该在config中添加一个选项remote。
[...]
  在这种情况下,如果启用此选项,远程代码覆盖率结果将不会与本地结果合并。只有在远程和本地文件具有相同路径的情况下才可以进行合并。但是如果在远程服务器上运行测试,我们不确定它。

也许您可以使用phpcov手动执行此操作。