【发布时间】:2020-07-27 05:29:23
【问题描述】:
我想为 Angular 项目中的一个组件编写单元测试。
Main Component 类有 5-6 个依赖项,它扩展了另一个具有大约 7 个依赖项的类。
为该组件配置 TestBed 的最佳方式是什么?我是否需要模拟所有 12-13 类来运行测试
【问题讨论】:
标签: angular unit-testing dependency-injection jasmine karma-runner
我想为 Angular 项目中的一个组件编写单元测试。
Main Component 类有 5-6 个依赖项,它扩展了另一个具有大约 7 个依赖项的类。
为该组件配置 TestBed 的最佳方式是什么?我是否需要模拟所有 12-13 类来运行测试
【问题讨论】:
标签: angular unit-testing dependency-injection jasmine karma-runner
您需要在要测试的组件中声明所需的所有功能。您可以导入或模拟它们。模拟要快得多。
您可以使用 TestBed 模块中的架构忽略测试中的其他组件(这会忽略所有其他子组件)。
schemas: [CUSTOM_ELEMENTS_SCHEMA]
你可以像这样模拟服务
providers: [{provide: MyService: useClass: {}]
【讨论】: