jasmine-browser-runner如何对接终端报告器输出格式化测试结果
jasmine-browser-runner终端格式化输出配置方案
jasmine-browser-runner本身支持在Node侧配置终端报告器,不需要在浏览器环境引入报告器,不会和你业务代码里的浏览器API、非模块化写法产生冲突,可通过以下两种方式实现:
- 方案1:启用自带stdout报告器的详细模式
修改你的spec/config/jasmine-browser.json配置,新增reporters字段即可:
配置完成后直接运行原有命令{ // 保留你原有的其他配置,比如srcDir、specFiles、browser等配置 "reporters": [ { "name": "stdout", "options": { "showColors": true, "verbose": true, "includeStackTrace": true } } ] }jasmine-browser-runner runSpecs --config=spec/config/jasmine-browser.json,终端就会输出带颜色、带用例名称、失败原因和堆栈的格式化测试结果。 - 方案2:对接第三方终端报告器(以jasmine-spec-reporter为例)
- 安装依赖:
npm install jasmine-spec-reporter --save-dev - 在
spec/config/目录下新建自定义报告器文件custom-spec-reporter.js:
const { SpecReporter } = require('jasmine-spec-reporter'); module.exports = { reporter: new SpecReporter({ spec: { displayPending: true, displayStacktrace: true, displayDuration: true } }) };- 修改
spec/config/jasmine-browser.json配置,指定自定义报告器路径:
该报告器运行在jasmine-browser-runner的Node进程中,不会加载到浏览器环境,完全不需要修改你的业务代码和测试用例代码。{ // 保留你原有的其他配置 "reporters": [ {"name": "./custom-spec-reporter.js"} ] } - 安装依赖:
你之前尝试的浏览器侧引入jasmine-reporters的方案也可以通过配置浏览器日志转发实现终端输出,需要额外在jasmine-browser.json配置browser.arguments开启日志转发,操作复杂度高于上述两种方案,不推荐使用。
内容的提问来源于stack exchange,提问作者user7491809
相关产品推荐
相关产品推荐

