我发现 angular-mocks 默认阻止所有请求,并迫使我“通过”我想要的东西,这让我非常沮丧。
有时我只是想用一个模拟测试 1 个 url,我必须为每个“意外请求”错误跳过严重的箍。
我不知道正则表达式,我不喜欢正则表达式,我不想使用正则表达式!
看看我需要一个简单的模拟的这个可怕的代码
$httpBackend.whenGET(/\/atlas\/account\/[0-9]+$/)
.respond(atlasAccounts[0]);
$httpBackend.whenGET(/\/scripts$/).passThrough();
$httpBackend.whenGET(/^\w+.*/).passThrough();
$httpBackend.whenPOST(/^\w+.*/).passThrough();
为什么不能只简化为一行???
$httpBackend.whenGET(/\/atlas\/account\/[0-9]+$/)
.respond(atlasAccounts[0]);
或者更好的是,为什么它不支持该死的通配符?他们是否试图让开发人员的生活更加艰难?
$httpBackend.whenGET("/atlas/account*")
.respond(atlasAccounts[0]);
这就是我所需要的,只要它是这样直观的......
有没有办法在 ngMock 中禁用这个全有或全无的约定,并且只拦截我明确模拟的 url?