【问题标题】:Angular testing and HttpClient: TypeError: Cannot read property 'get' of undefined角度测试和 HttpClient:TypeError:无法读取未定义的属性“获取”
【发布时间】:2017-09-01 14:05:06
【问题描述】:

在我的 Angular 4 应用程序中,我需要为使用内部使用 Angular HttpClient 的服务的组件创建测试。

尽管我在imports 和TestBed 之间添加了HttpClientTestingModule,但我得到:

TypeError: 无法读取未定义的属性“get”

每当组件调用MyService.someMethod()(内部使用HttpClient.get())时。

我尝试提供服务本身或为其提供模拟,但我还是收到了错误。

【问题讨论】:

    标签: angular unit-testing jasmine karma-jasmine angular-httpclient


    【解决方案1】:

    我发现了问题:

    我需要从我的TestBed 的providers 列表中删除{ provide: AuthService, useClass: MockAuthService }。它不再需要,并且以某种方式干扰了HttpClientTestingModule。

    【讨论】:

    • 我在规范文件中只有这个代码:providers: [{provide: http}],但仍然得到同样的错误,知道吗?
    猜你喜欢
    • 1970-01-01
    • 2021-12-02
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 2018-04-18
    • 1970-01-01
    • 2016-07-20
    相关资源
    最近更新 更多