首页 文章

AngularJS html模板的代码覆盖率

提问于
浏览
8

我们在业力测试中使用istanbul进行代码覆盖 . 这非常适合跟踪JavaScript中单元测试的代码覆盖率 . 但是,这不会跟踪HTML模板中的代码覆盖率 .

我们的模板中的逻辑非常少,但仍然存在我们想要跟踪的复杂性,并确保我们在测试中正确涵盖了这些复杂性 . 确保您对所有HTML模板进行适当覆盖的最佳做法是什么?在我们的特定情况下,我们使用ng-if和ng-switch . 我们希望确保所有分支都得到适当的覆盖 .

2 回答

  • 1

    不幸的是,伊斯坦布尔和业力是为了测试JavaScript而开发的,而不是HTML模板 . 由于ng-if和ng-switch语句可能会影响页面上显示的内容,因此您可能需要考虑使用Angular的端到端套件Protractor . 据我所知,端到端测试没有覆盖工具 .

  • 0

    虽然您可以通过第三方插件(https://www.npmjs.com/package/protractor-istanbul-plugin)从伊斯坦布尔获得报道报告,但问题是,与React或其他将模板(JSX)转换为javascript DOM操作的库不同,Angular不会以某种方式公开生成的DOM . 对于生成覆盖率报告所必需的仪器是可行的 .

相关问题