Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS如何测试期望的任何参数_Javascript_Angularjs_Jasmine_Karma Runner - Fatal编程技术网

Javascript AngularJS如何测试期望的任何参数

Javascript AngularJS如何测试期望的任何参数,javascript,angularjs,jasmine,karma-runner,Javascript,Angularjs,Jasmine,Karma Runner,我使用AngularJS和Jasmine Karma单元测试。在这里,我不想用确切的时间戳测试我的http调用(这会导致一次又一次的失败),而是想将它与作为“stamp”值发送的任何参数相匹配 找不到办法 在Date原型的DategetTime方法上设置一个间谍,并让它返回一个您可以期望的值 var timestamp = 1234; spyOn(Date.prototype, 'getTime').andReturn(timestamp); $httpBackend.expectGET('pa

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


找不到办法

Date
原型的Date
getTime
方法上设置一个间谍,并让它返回一个您可以期望的值

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

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

我希望这听起来不会太愚蠢,因为我不知道问题的全部背景,但因为这是为了测试目的,所以只需将伪时间戳设置为某个固定整数?然后,
expectGET
就可以很容易地完成了
var timestamp = 1234;
spyOn(Date.prototype, 'getTime').andReturn(timestamp);
$httpBackend.expectGET('path/company?stamp='+timestamp).respond(200);