【问题标题】:Codesniffer to exit after identiying error before proceeding any furtherCodesniffer 在识别错误​​后退出,然后再继续
【发布时间】:2014-10-19 04:44:31
【问题描述】:

我希望代码嗅探器在 CLI 中产生错误输出并在继续之前退出以避免运行其他测试,例如 behat、phpmd、phpcpd,以便之后发生。

当前代码(如下所示)创建一个 XML 报告,其中列出了错误,但它不会终止进程。我应该如何修改代码以获得 XML 报告、CLI 错误输出并在出现错误时终止进程?

PHING 中的当前代码:

<target name="codesniffer-phpcs">
    <echo msg="Checking coding standards ..." />
    <tstamp />
    <phpcodesniffer standard="PSR2" showWarnings="true" format="full">
        <fileset refid="sourcecode" />
        <formatter type="checkstyle" outfile="phing/phpcs/psr2_${DSTAMP}-${TSTAMP}.xml" />
    </phpcodesniffer>
</target>

这是我希望在 CLI 中看到的以及拥有 XML 文件的内容:

FOUND 4 ERROR(S) AFFECTING 4 LINE(S)
--------------------------------------------------------------------------------
   69 | ERROR | There must not be more than one property declared per statement
  108 | ERROR | The abstract declaration must precede the visibility
  657 | ERROR | Expected 1 space after comma in function call; 2 found
  812 | ERROR | A cast statement must be followed by a single space
--------------------------------------------------------------------------------

【问题讨论】:

    标签: jenkins phing codesniffer


    【解决方案1】:

    我认为任务中的属性“haltonerror”将成为您的朋友。 http://www.phing.info/docs/guide/stable/apcs48.html

    【讨论】:

    • 是的,它确实停止了,但没有告诉我错误在哪个文件中。刚刚杀死了进程机智:目标“test-phpcs”的执行失败,原因如下:/var/www/html/local/symfony/build.xml:189:65: phpcodesniffer detected 1 error BUILD FAILED /var/www/html/local/symfony/build.xml:189:65: phpcodesniffer detected 1 error Total time: 2.7364 seconds
    • 问题是无论如何*您喜欢在发生违规后停止它。通常,您使用 jenkins 或其他 CI 工具解析 phpcs 的输出,并在带有错误标记的图形或文件列表中分析结果。 * 我知道它运行时间更长
    • 我们正在运行许多测试,因此我们倾向于停止并解决问题,然后再继续进行。这就是为什么。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-08
    • 2017-08-19
    相关资源
    最近更新 更多