首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于单元测试中没有构造函数的扩展类,角10依赖项注入失败。

对于单元测试中没有构造函数的扩展类,角10依赖项注入失败。
EN

Stack Overflow用户
提问于 2021-01-22 09:05:48
回答 1查看 161关注 0票数 1

我最近升级了一个从版本8到版本10的角应用程序。在这个应用程序中,我使用了类似于下面的模式的扩展类:

代码语言:javascript
复制
@Injectable()
export class MyBaseClass {
  constructor(myDependencyService: MyDependencyService,...) {}
}

@Injectable()
export class MyExtensionClass extends MyBaseClass {
  // no explicit constructor in extension class
}

应用程序按预期运行,在扩展类实例化时,将所有依赖项正确注入基类构造函数。但是,当运行单元测试时,依赖项注入会崩溃,基类构造函数的所有参数都是未定义的。

查看浏览器开发工具中的编译源代码,扩展类的角生成工厂在执行测试时与运行应用程序时看起来完全不同:在运行测试时,编译的工厂在创建扩展类时不传递任何参数。

我遵循了升级到Ivy编译器的所有建议,所有使用DI的类都在应用程序中得到了正确的修饰和工作。在执行测试时,是否有一些特性会导致不同的编译结果?我是否错过了一些影响单元测试的配置更改?

更新:我已经将这个DI问题定位到代码覆盖率报告中。当我删除覆盖率选项时,将正确注入依赖项。在覆盖率报告和角编译器之间似乎存在一些冲突。我用的是业力报道-伊斯坦布尔-记者版本3.0.2。

EN

回答 1

Stack Overflow用户

发布于 2021-01-28 07:35:43

在tsconfig.spec.json:https://github.com/angular/angular-cli/issues/14860中针对tsconfig.spec.json(或更高版本)时,这是一个已知的问题。

解决办法是以es5为目标。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65842182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档