gpt4 book ai didi

angularjs - 如何在 typescript Angular 应用程序中获得 100% 的 karma 分支代码覆盖率?

转载 作者:搜寻专家 更新时间:2023-10-30 20:44:07 27 4
gpt4 key购买 nike

我用 karma 和 jasmin 单元测试编写我的 Angular 应用程序。我在 typescript 中得到了代码:

module app {
...
}

生成的 javascript 如下:

var app;
(function (app) {
...
})(app || (app = {}));

现在,当我运行 karma-coverage 时,它​​显示一个分支被跳过,它是 || (app = {}));这个。当我测试更多包含应用程序模块的文件时,就会发生这种情况。

我如何在 jasmine 中测试它,以获得 100% 的分支覆盖率?

最佳答案

如果你有一个使用 gulp 或 grunt 的构建过程,在你的 typescript 被编译成 javascript 之后,你可以告诉 Istanbul(karma-coverage 使用什么来生成代码覆盖率)忽略某些行(比如那些讨厌的 typescript 生成的行) .

您可以使用 /* istanbul ignore next */ 注释告诉 Istanbul 尔忽略一行

(function (app) {
...
})(/* istanbul ignore next */app || (app = {}));

这里有一篇文章解释了如何使用 gulp 做到这一点。

https://stackoverflow.com/a/33024388/1633757

关于angularjs - 如何在 typescript Angular 应用程序中获得 100% 的 karma 分支代码覆盖率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31598821/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com