您好我有以下代码
myApp.controller('myctrl',function($scope,myservice){
//where testClickEvent is ng-click from partials
$scope.testClickEvent=function(args){
var setArg1=args[0];
var params = {"myarg1":setArg1}
//rest call
myservice.testClickEvent(params).success(function(data){
if(data.res==true)
{
$scope.somevariable="success";
}
}).error(function(error){
$scope.somevariable="failure";
});
}
});
我想使用
的茉莉花来测试它ng-click
事件发生在部分?? 我如何测试$scope.somevariable
和setArg1
有适当的值
这里我用过
spyOn(scope,testClickEvent);
scope.testClickEvent(args);
expect(scope.testClickEvent).toHaveBeenCalledWith(args);
spyOn(myservice,testClickEvent);
myservice.testClickEvent(params);
expect(myservice.testClickEvent).toHaveBeenCalledWith(params);
但是如何访问结果和异步回调结果????
提前致谢!感谢您的帮助!
答案 0 :(得分:1)
您需要使用$httpBackend
https://docs.angularjs.org/api/ngMock/service/ $ httpBackend
角度页面中的示例包含以下两行:
$httpBackend.when('GET', '/auth.py').respond({userId: 'userX'}, {'A-Token': 'xxx'});
$httpBackend.expectPOST('/add-msg.py', 'message content').respond(201, '');
第一个模拟响应并响应指定的任何对象 第二个期望使用指定的对象调用服务器。
希望这有帮助。