为什么当测试失败时詹金斯仍然说成功?

Why when test fails jenkins still says success?

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

npm install && PORT=8888 npm test

mocha returns 2(失败测试的数量)但詹金斯仍然说:

Finished: SUCCESS.

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

Finished: FAILURE

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

您可以:

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

最后我使用了一个不同的解决方案:安装 Jenkins Text Finder,如果在日志中发现 "expected - actual"(测试失败),我让这个插件将构建标记为 "Unstable"。