我正在尝试学习如何使用 Karma 和 Jasmine 对 Angular 进行单元测试。
我的问题是我用spyOn()和expect.toHaveBeenCalled()来实现它,即使Karma说通过了测试,代码覆盖率也没有更新。
我是 Angular 单元测试的新手,我不知道如何正确测试方法以获得代码覆盖率。
感谢大家的帮助。
最佳答案
实际上,您不仅需要创建一个 spy ,还需要执行它来扩大覆盖范围。 spy 用 stub 替换了 spy 功能。如果你想让这个spy函数被正常调用,你需要在你的spy中添加.and.callThrough()。
spyOn(EnvironmentService, 'isProduction').and.callThrough()
您还可以在这里阅读更多信息:about spy and callThrough
关于angular - 无法增加 Angular 单元测试中的代码覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58129821/