代码之家  ›  专栏  ›  技术社区  ›  koen

phing与phpunit codecoverage结果

  •  2
  • koen  · 技术社区  · 14 年前

    我已经为phing创建了一个build.xml文件来创建代码覆盖率报告。它使用

    phpunit codecoverage="true"
    

    并且指向与phpunit相同的文件——覆盖HTML。然而,结果不同。使用phing,我对所有文件都有100%的代码覆盖率,而我没有。对于使用phing运行代码覆盖率,我可能不知道什么可以解释这一点。为了得到不同的结果,我做错了什么?

    2 回复  |  直到 13 年前
        1
  •  4
  •   Mike B    14 年前

    您可以尝试将phpunit作为一个可执行文件运行,并将覆盖HTML作为一个参数(这是我们的工作方式,并且似乎工作得很好)。

    例子:

    <target name="phpunit">
     <exec executable="phpunit" dir="${basedir}/source" failonerror="on">
      <arg line="--log-junit ${basedir}/build/logs/phpunit.xml
      --coverage-clover ${basedir}/build/logs/phpunit.coverage.xml
      --coverage-html ${basedir}/build/coverage
      tests/" />
     </exec>
    </target>
    
        2
  •  2
  •   user529913    14 年前

    第一个答案中的例子是不起作用的。Ant的这个例子。phing exectask不支持将“arg”作为嵌套元素。

    phing的工作示例:

    <target name="phpunit">
        <exec command="phpunit --log-junit ${logsdir}/phpunit.xml 
            --coverage-clover ${logsdir}/phpunit.coverage.xml 
            --coverage-html ${logsdir}/coverage 
            tests/" />
    </target>