Reactjs Jenkins build中实现Jest测试的正确方法
我们正在使用Jest执行Node.js应用程序的React.js单元测试(在前端),该应用程序在docker容器中运行 我们已经在詹金斯建立了一个管道,但我不确定将测试作为管道一部分的最佳方式(或最佳实践) 我们采取的步骤如下:Reactjs Jenkins build中实现Jest测试的正确方法,reactjs,docker,jenkins,docker-compose,jestjs,Reactjs,Docker,Jenkins,Docker Compose,Jestjs,我们正在使用Jest执行Node.js应用程序的React.js单元测试(在前端),该应用程序在docker容器中运行 我们已经在詹金斯建立了一个管道,但我不确定将测试作为管道一部分的最佳方式(或最佳实践) 我们采取的步骤如下: 检查源代码管理中的代码 NPM安装和NPM运行构建(前端) Docker构建+发布 部署应用程序 凹凸版 Git推送 码头清理 我有3个主要问题: A.我假设最好在步骤1和步骤2之间包含npm运行测试,并且如果所有测试都成功通过,是否继续 但是快照是如何处理的?例如,如
npm运行测试
,并且如果所有测试都成功通过,是否继续
但是快照是如何处理的?例如,如果发生的某些更改在快照中产生了差异,则不会将其“检查”回源代码管理中
我读到人们使用Cobertura、jest junit等在Jenkins中进行单元测试和覆盖-什么是最好的
提前感谢。好问题
A.您可以在npm安装后运行测试。如果所有的测试都通过了,你会更进一步。另一个常见的操作是运行linting或代码样式检查
B.错误的快照将导致测试失败。这就是为什么在提交之前更新快照很重要的原因。如果您的jenkins连接到一个代码审查系统,您可以禁用失败构建的合并,以确保坏快照不会出现在您的主分支上
C.我见过有人使用junit
,但那只是因为需要将覆盖率报告与junit
覆盖率报告相结合。如果您对报告的结构没有任何特殊要求,那么默认的报告jest
应该可以生成,并且您不需要任何额外的东西 非常感谢你的回答!我将执行这个实现,到目前为止,Cobertura似乎工作得很好,但我想默认的jest报告也可以工作。