【问题标题】:Why when test fails jenkins still says success?为什么当测试失败时詹金斯仍然说成功?
【发布时间】:2016-12-16 00:10:27
【问题描述】:

我有一个 MEAN 项目。在 EC2 机器上使用 Jenkins,我使用以下 shell 脚本构建它:

npm install && PORT=8888 npm test

mocha 返回 2(失败测试的数量)但 jenkins 仍然说:

完成:成功。

如果测试失败,我希望看到

已完成:失败

你知道为什么它不能正常工作吗?

【问题讨论】:

    标签: node.js jenkins mocha.js


    【解决方案1】:

    最后我使用了不同的解决方案:安装了 Jenkins Text Finder,如果在日志中发现“预期 - 实际”(测试失败),我让这个插件将构建标记为“不稳定”。

    【讨论】:

    • “Jenkins 文本查找器”可能吗?
    【解决方案2】:

    你可以:

    1. 使用像 Karma 这样的测试运行程序,或者
    2. 告诉 Mocha 以例如 XUnit 格式报告,方法是向 Mocha 传递--reporter xunit 标志。 XUnit 与 Jenkins 理解的 JUnit 紧密结合,或者
    3. 添加自定义报告器 - mocha-jenkins-reporter 是一个不错的选择。

    【讨论】:

    • 非常感谢克里斯。我使用了第三个选项:将 Makefile 添加到项目中,并在 Jenkins 的 shell 脚本中将“npm install test”替换为“make jenkins”,但这没有任何作用,你知道为什么吗?
    • @CristianBoariu 很难说没有看到你是如何设置一切的。选项 2 可能是“最简单的”。
    • 我遇到了我的 junit 测试结果返回 FAIL 的问题,但该作业仅标记为 Unstable 而不是 Fail,因为运行测试的 shell 脚本返回 0(成功)。 result.xml 中的失败只能将作业从 Pass(因为没有任何步骤失败)降级为 Unstable。
    猜你喜欢
    • 1970-01-01
    • 2018-05-31
    • 1970-01-01
    • 2014-11-24
    • 2023-01-18
    • 2017-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多