我们使用 Jenkins 运行 CI 环境,项目在 ExtJS 3.2 中。我无法找到关于如何在 Jenkins 中为 JS 代码设置测试覆盖率的明确路线。我们使用 selenium 和 Cucumber 编写 UI 测试。构建文件有一个 UI 测试目标,每次 CI 机器运行构建时都会运行该目标。我找不到一个插件可以给我或发布这些测试的覆盖率报告,这些测试已经在 Jenkins 中作为结果 atrifact 运行。或者,如果有其他方法可以实现相同的目标,请帮助我。
问问题
1693 次
1 回答
1
我认为您可以在使用 Selenium 时使用JSCover生成代码覆盖率:
- 启动 JSCover java web 服务
- 让 Selenium 访问 JSCover web-app 并启动收集器,也可以查看JSCover关于自动化测试的手册。
- 在新窗口或 iFrame 中运行 Selenium 测试
- 收集覆盖数据并将其存储在某处
- 将数据处理成漂亮的报告(可以使用genhtml)
如果您为每个 Cucumber 场景/功能启动一个新的浏览器,那么您需要保存每个场景/功能之间的覆盖数据,在所有功能完成后将它们组合起来,然后将它们处理成一个漂亮的报告。JSCover 支持合并多个数据源和创建 LCOV 报告。
于 2012-12-13T21:26:07.660 回答