AngularJS如何测试期望任何参数

Spr*_*ing 2 javascript jasmine angularjs karma-runner

我使用AngularJS和Jasmine Karma单元测试.在这里,我不想用精确的时间戳测试我的http调用(导致失败的时间),但是想要将它与作为"戳"值发送的任何参数匹配;

$httpBackend.expectGET(path/company?stamp='+new Date().getTime()).respond(200);
Run Code Online (Sandbox Code Playgroud)

找不到办法去做!

Sch*_*eis 5

getTimeDate原型的Date 方法上设置一个间谍,让它返回一个你可以期待的值.

var timestamp = 1234;
spyOn(Date.prototype, 'getTime').andReturn(timestamp);
$httpBackend.expectGET('path/company?stamp='+timestamp).respond(200);
Run Code Online (Sandbox Code Playgroud)

现在您可以控制时间并获得可以检查的值.