Jasmine 应该忽略 post 数据值
Jasmine should ignore post data values
我正在尝试使用 Jasmine 测试我的 angular 应用。
我是这样称呼它的:
$httpBackend
.expectPOST('http://localhost:3000/booking_requests.json',
{lat: 58.37, lng: 26.71})
.respond(201);
sharedProperties.setLatitude(58.37);
sharedProperties.setLongitude(26.71);
scope.submit();
$httpBackend.flush();
这是我在函数中的内容:
$scope.submit = function() {
console.log(sharedProperties.getLatitude());
console.log(sharedProperties.getLongitude());
console.log($scope.formdata.name);
var parameter = JSON.stringify({lng: sharedProperties.getLongitude(), lat: sharedProperties.getLatitude(),
name: $scope.formdata.name});
console.log(parameter);
$http.post('http://localhost:3000/booking_requests.json',parameter )
.then(function (response) {
$scope.sync_notification = response.data.eta;
$scope.modal.show();
PusherService.subscribe(response.data.id);
});
};
错误:
TypeError: 'undefined' is not an object (evaluating 'response.data.eta')
所以我必须让它忽略我从 post 方法中得到的 json 东西。任何想法或评论将不胜感激。
作为响应,您返回单个值,而在实际函数中,您从对象中检索值。
测试用例中不需要传递参数,代码如下:
$httpBackend.expectPOST('http://localhost:3000/booking_requests.json').respond({data:{eta:201,id:456}});
我正在尝试使用 Jasmine 测试我的 angular 应用。 我是这样称呼它的:
$httpBackend
.expectPOST('http://localhost:3000/booking_requests.json',
{lat: 58.37, lng: 26.71})
.respond(201);
sharedProperties.setLatitude(58.37);
sharedProperties.setLongitude(26.71);
scope.submit();
$httpBackend.flush();
这是我在函数中的内容:
$scope.submit = function() {
console.log(sharedProperties.getLatitude());
console.log(sharedProperties.getLongitude());
console.log($scope.formdata.name);
var parameter = JSON.stringify({lng: sharedProperties.getLongitude(), lat: sharedProperties.getLatitude(),
name: $scope.formdata.name});
console.log(parameter);
$http.post('http://localhost:3000/booking_requests.json',parameter )
.then(function (response) {
$scope.sync_notification = response.data.eta;
$scope.modal.show();
PusherService.subscribe(response.data.id);
});
};
错误:
TypeError: 'undefined' is not an object (evaluating 'response.data.eta')
所以我必须让它忽略我从 post 方法中得到的 json 东西。任何想法或评论将不胜感激。
作为响应,您返回单个值,而在实际函数中,您从对象中检索值。
测试用例中不需要传递参数,代码如下:
$httpBackend.expectPOST('http://localhost:3000/booking_requests.json').respond({data:{eta:201,id:456}});