【问题标题】:How to mock Dependent Modules in Jasmine for Large Number of dependencies in Angular 9?如何在 Jasmine 中模拟 Angular 9 中的大量依赖项的依赖模块?
【发布时间】:2020-07-27 05:29:23
【问题描述】:

我想为 Angular 项目中的一个组件编写单元测试。
Main Component 类有 5-6 个依赖项,它扩展了另一个具有大约 7 个依赖项的类。
为该组件配置 TestBed 的最佳方式是什么?我是否需要模拟所有 12-13 类来运行测试

【问题讨论】:

    标签: angular unit-testing dependency-injection jasmine karma-runner


    【解决方案1】:

    您需要在要测试的组件中声明所需的所有功能。您可以导入或模拟它们。模拟要快得多。

    您可以使用 TestBed 模块中的架构忽略测试中的其他组件(这会忽略所有其他子组件)。

    schemas: [CUSTOM_ELEMENTS_SCHEMA]
    

    你可以像这样模拟服务

    providers: [{provide: MyService: useClass: {}]
    

    【讨论】:

    • 在最后一行使用类:{}。我们可以对单元测试不需要的所有服务、指令和管道执行此操作吗?
    猜你喜欢
    • 2018-02-19
    • 2016-02-26
    • 2021-02-12
    • 1970-01-01
    • 2018-06-28
    • 2013-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多