AngularJS如何测试期望任何参数

时间:2014-01-03 15:12:02

标签: javascript angularjs jasmine karma-runner

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

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

无法找到办法!

1 个答案:

答案 0 :(得分:5)

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

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

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