什么是@seadub/danger-plugin-junit
@seadub/danger-plugin-junit是一款针对Jest测试框架的Danger.js插件,用于将Jest测试报告转化为Junit格式并在代码审查过程中进行展示。它可以帮助我们更好地了解我们的代码中存在的问题以及测试用例的覆盖率。
安装
我们可以通过npm install来安装@seadub/danger-plugin-junit插件。
npm i @seadub/danger-plugin-junit --save-dev
配置
在项目的根目录下新建一个dangerfile.js文件,并添加下列代码。
-- -------------------- ---- ------- ----- -------- ----- ----- -------- - ------------------ ----- ----- - --------------------------------------- ---------------- ----- --------------- - ------------------------ ---------------------------- ------- ------------ ------------------ ---展开代码
示例代码
在该项目中,我们将测试用例放在./__tests__文件夹下,创建一个简单的测试用例index.test.js。
const {sum} = require('../index'); describe('sum', () => { test('adds 1 + 2 to equal 3', () => { expect(sum(1, 2)).toBe(3); }); });
我们可以在项目根目录下打开终端,运行如下命令来执行测试用例。
npm test
执行完毕后,JUnit测试报告将被存储在./jest/test-results.xml文件中。我们可以打开该文件在浏览器中查看Junit测试报告。
使用
我们现在已经成功地将Junit测试报告注入到Danger.js插件中。在代码审查时,我们可以通过Danger.js插件检验测试覆盖率是否达到阈值。
-- -------------------- ---- ------- --------- ----- ------------ - ------------------------------------- -- ---------------------------------------------- -- -------------- - ----- -------- - --------------------------------- ----- ------------- - -------------------------------- -- -------------- - --- - -------------- -- -- ------------------ ----- -- ----- --- --- --------- -- ----- - ---- - ----------------- -- -- ------------------ ----- ----- --- ------- ----------- - -展开代码
在代码审查过程中,我们还可以通过Danger.js插件检查测试失败的用例,并对开发人员进行预警。
// 检查测试失败的用例 const testFailures = danger.gitLab.mr.danger.gitLab.mr.findings.filter(finding => finding.type == 'fail') if (testFailures.length) { warn(testFailures.length + ' tests have failed') testFailures.forEach(testFailure => { message(testFailure.message) }) }
通过@seadub/danger-plugin-junit,我们可以更加深入地了解我们的代码中存在的问题以及测试用例的覆盖率。同时,在代码审查过程中,我们可以更加及时地发现测试失败的用例并提醒开发人员进行修改。
这里的示例代码仅供参考,我们可以根据实际需求对代码进行修改和扩充。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedb74db5cbfe1ea06117a6