我们正在使用 Jest 来执行在docker容器中运行的Node.js应用程序的React.js单元测试(在前端)。

我们已经在 Jenkins (Jenkins)建立了管道,但是我不确定将测试包括在管道中的最佳方法(或最佳实践)。

我们执行的步骤如下:

  • 从源代码管理
  • 中 check out 代码
  • NPM安装和npm运行构建(前端)
  • Docker构建+发布
  • 部署应用程序
  • 凹凸版
  • Git推送
  • Docker清理

  • 我有3个主要查询:

    答:我认为最好在步骤1 步骤2 之间包括npm run test,并且是否所有测试都通过并成功通过?

    B.但是快照如何处理?例如,如果发生了某些更改,从而在快照中产生了差异,则不会“ checkin ”到源代码控件中。

    C.我读到人们使用Cobertura,Jest-Junit等在Jenkins中进行单元测试和覆盖-什么是最好的?

    提前致谢。

    最佳答案

    好问题!

    答:您可以在npm install之后运行测试。而且,如果所有测试都通过,您就会更进一步。另一个常见的事情是运行linting或代码样式检查。

    B.错误的快照将使测试失败。这就是为什么在提交之前更新快照很重要的原因。如果您的jenkins已连接到代码检查系统,则可以禁用生成失败的合并,以确保不良快照不会出现在master分支上。

    C.我见过人们使用jest-junit,但这只是因为需要将覆盖率报告与junit覆盖率报告相结合。如果您对报告的结构没有任何特殊要求,那么jest生成的默认报告应该没问题,并且您不需要任何额外的内容。

    08-06 02:30