Angular jamsine test spyOn不拦截电话

时间:2016-12-13 11:01:34

标签: angularjs jasmine

我正在尝试测试我的Angular控制器。我试图模拟控制器使用jasmine的spyOn进行的loginService-> loginStatus服务调用。即使我设置了返回值,我希望服务调用返回,当我运行测试时,我收到此响应:

  

意外请求:POST api / users / loginStatus

它仍在调用真正的LoginService调用:

for root, dirs, files in os.walk(RootDir):

我的测试设置如下:

self.managedObjectContext.performAndWait {
    //all your processing managed objects
    //finally once done 
    try! self.managedObjectContext.save()
}

1 个答案:

答案 0 :(得分:0)

尝试使用:

将你的间谍改为:

spyOn(loginService, 'loginStatus').and.returnValue(deferredLoginStatus.promise);

和 在beforeEach mockHttp.whenPOST('api/users/loginStatus').respond({ isLoggedIn: true});

中添加以下行