【问题标题】:Expected one matching request for criteria "Match URL" - None found - Angular2+预期有一个条件“匹配 URL”的匹配请求 - 未找到 - Angular 2
【发布时间】:2019-01-08 17:04:00
【问题描述】:

我正在尝试为我的身份验证功能测试 http get,但我没有运气。

我一直在查看 this resource 并根据自己的目的进行调整,但我又收到了错误:

错误:预期有一个对条件“匹配 URL:http://localhost:80001/...”的匹配请求,但没有找到。

我曾尝试使用 async 进行包装,但也没有成功。

更新

根据@trichetriche 的建议,我将我的apiBaseUrl 声明移到了this.apiBaseUrl 所引用的实际类中,但是运行测试我仍然遇到同样的错误...

更新 2

看来我的主要问题是错误地将 uri 输入为 80001 而不是 8001。但是我现在遇到了一个新错误:

无法读取未定义的属性“下一个”

最终更新 上述错误是由我之前添加的 async 包装器引起的,并且是由 q 依赖项引起的。删除async 后一切运行顺利。

【问题讨论】:

    标签: javascript angular typescript


    【解决方案1】:

    这个错误意味着两个 URL 不匹配,这是因为你以一种奇怪的方式调用你的端点:

    const apiBaseUrl = 'http://localhost:8001/data/betting/ui-api/v1';
    

    这是在哪里声明的?为什么它不是服务类的成员?

    【讨论】:

    • 将您的 URL 声明为您的服务的成员,并在您的 http 调用中使用 this.apiBaseUrl
    • 您指的是哪个服务等级?它目前是 auth.service 类的一部分...或者您的意思是将它作为导出内容的一部分?
    • 如果它是 AuthService 的一部分,那么为什么将它声明为常量?如果它是课程的一部分,则不可能这样做。
    • apiBaseUrl 声明移到export class AuthService {...} 内,但我的测试仍然出现同样的错误:-/
    • 您的测试网址中缺少一个零。 80001 变为 8001
    猜你喜欢
    • 1970-01-01
    • 2023-03-22
    • 2018-11-18
    • 2018-12-07
    • 2021-02-20
    • 2019-07-18
    • 1970-01-01
    • 1970-01-01
    • 2020-06-21
    相关资源
    最近更新 更多