在Jenkins构建中实施Jest测试的正确方法

时间:2018-09-25 10:27:10

标签: reactjs docker jenkins docker-compose jestjs

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

我们已经在詹金斯(Jenkins)建立了管道,但是我不确定将测试作为管道一部分的最佳方法(或最佳实践)。

我们要执行的步骤如下:

  1. 从源代码管理中签出代码
  2. NPM安装和npm运行构建(前端)
  3. Docker构建+发布
  4. 部署应用
  5. 凹凸版
  6. Git push
  7. Docker清理

我有3个主要查询:

A。我假设最好在{strong>步骤1 和步骤2 之间加入npm run test,是否所有测试通过都可以继续?

B。但是快照如何处理?例如,如果发生了某些变化,从而在快照中产生了差异,则不会将其“检查”回源控件中。

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

谢谢。

1 个答案:

答案 0 :(得分:1)

好问题!

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

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

C。我已经看到人们使用jest-junit,但这只是因为需要将覆盖率报告与junit覆盖率报告结合在一起。如果您对报告的结构没有任何特殊要求,则默认报告jest产生的结果应该很好,并且您不需要任何其他内容。