测试运行时,代码覆盖报告为空

时间:2014-04-14 04:25:53

标签: symfony phpunit code-coverage codeception

enter image description here codeception.yml配置:

paths:
    tests: src/Niwa/ForecastUIBundle/Tests/codecept/test
    log: app/logs/report
    data: src/Niwa/ForecastUIBundle/Tests/codecept/test/_data
    helpers: src/Niwa/ForecastUIBundle/Tests/codecept/test/_helpers
settings:
    bootstrap: _bootstrap.php
    suite_class: \PHPUnit_Framework_TestSuite
    colors: true
    memory_limit: 1024M
    log: true

coverage:
    enable: true
    remote: true
    include:
        - src/Niwa/ForecastUIBundle
        - src/Niwa/ForecastRestBundle

我的acceptance.suite.yml文件配置:

# Codeception Test Suite Configuration

# suite for acceptance tests.
# perform tests in browser using the Selenium-like tools.
# powered by Mink (http://mink.behat.org).
# (tip: that's what your customer will see).
# (tip: test your ajax and javascript by one of Mink drivers).

# RUN `build` COMMAND AFTER ADDING/REMOVING MODULES.

class_name: WebGuy
modules:
    enabled:
        - PhpBrowser
        - WebHelper
        - WebDebug
    config:
        PhpBrowser :
         url: 'http://forecast.localhost'

        capabilitites:
          unexpectedAlertBehaviour: 'accept'

命令我正在运行以获得覆盖范围:

php ./codecept.phar run --coverage --xml --html --report

输出:

Codeception PHP Testing Framework v1.8.3
Powered by PHPUnit 3.7.28 by Sebastian Bergmann.
test the big number page (BigNumberTestCept.php)...........................Ok
display niwa forecast chart (ForecastChartCept.php)........................FAIL
check the resize algorithm (ForecastChartResizeCept.php)...................Ok
test the resize algorithm (LandingPageCept.php)............................FAIL


Code Coverage Report 
  2014-04-14 16:09:02

 Summary: 
  Classes:  (0/0)
  Methods:  (0/0)
  Lines:    (0/0)

它将index.html的所有类和方法都设为空白。没有生成任何报告。

请帮助!!!

3 个答案:

答案 0 :(得分:2)

将coverage.remote设置为false。如果您在本地测试,则不需要将远程设置为true。

正如我在GitHub https://github.com/Codeception/Codeception/issues/976上看到你的问题,你在项目根目录中有c3.php。在我的情况下,如果我在项目根目录或web根目录中有c3.php文件,则会出现问题。我不得不将此文件移动到其他目录,因为在代码覆盖期间,Codeception在/ c3 / *路径上发出请求,如果我在项目根目录或web目录中有c3.php文件,这些路径对我来说都不起作用。 / p>

答案 1 :(得分:1)

所以我认为问题在于命令行(代码中的错误)

php ./codecept.phar run --coverage --xml --html --report

我无法获得--xml和--html以及--report来生成报告。 我使用Jenkins所以我使用

php ./codecept.phar run --coverage --xml

用于本地开发

php ./codecept.phar run --coverage --html

然后我可以查看_log / report.html和_log / coverage / index.html

中的HTML报告

答案 2 :(得分:1)

设置指令“enable”时出错了。

enable: true更改为enabled: true,代码覆盖率集合将有效。 http://codeception.com/docs/11-Codecoverage#Configuration