Tôi có một chức năng như thế nàyMã bảo hiểm cho phản ứng thành công cuộc gọi dịch vụ trong nghiệp
$scope.openMail=function(mail){
DocumentTypes.getDocument(function(response){
$scope.documentTypes=response.result;
$log.log("documentTypes",$scope.documentTypes);
})
}
Spec cho vui trên là
it("should test open mail", function(){
scope.documentTypes=[{"type":"pdf"},{"type":"xml"}];
spyOn(documentTypes,"getDocument").and.callFake(function(){
return scope.documentTypes;
});
var mail='back';
scope.openMail(mail);
expect(scope.documentTypes).toEqual({"type":"pdf"},{"type":"xml"});
})
nên mã không bao gồm cho function(response){}
Tôi có thể bao gồm mã này trong phạm vi mã của mình bằng cách nào? Cảm ơn.
thử nghiệm của bạn là màu đỏ hoặc màu xanh lá cây? – mickaelw
'DocumentTypes' được tiêm vào bạn như thế nào? Ngoài ra, vì bạn đang theo dõi hàm này, bạn có thể thử thêm 'expect (documentTypes.getDocument) .toHaveBeenCalled()' và xem nó có thực sự được gọi trong khi chạy thử nghiệm không? – mindparse