我有一组具有敲门验证的测试,在调用我想测试的api之前会调用电子邮件检查器。
jasmine.Ajax.stubRequest('/api/register/').andReturn({
'status': 201,
'contentType': 'application/json',
'responseText': '{"result":"ok"}',
});
jasmine.Ajax.stubRequest('/api/email-ok/?email=test%40example.com').andReturn({
'status': 200,
'contentType': 'application/json',
'responseText': 'true',
});
var u = new User();
u.registrationEmail('test@example.com');
var d = u.register('/api/register/');
d.then(() => {
var request = jasmine.Ajax.requests.mostRecent();
....
这里的mostRecent()可能是email-ok api而不是我要检查的寄存器api。如何区分使用jasmine.Ajax的两个模拟调用,以便我可以检查结果?
答案 0 :(得分:0)
我编写了一个枚举请求的函数,并通过URL选择一个。基于这个要点:(Youtube video on developing minecraft plugins)如下:
function getRequestForUrl(url) {
for (var i = 0; i < jasmine.Ajax.requests.count(); i++) {
var req = jasmine.Ajax.requests.at(i);
if(url == req.url){
return req;
}
}
return null;
}