我正在使用Jasmine测试Angular 1应用程序。我的问题是,是否可以在同一beforeEach
声明中为两个单独的服务创建两个间谍?
现在我可以让第一个间谍工作,但我不确定为什么其他间谍不起作用。我有间谍设置,将promise分配给它们内部的全局变量,可以在任何测试中访问。所以,第二个变量只是返回undefined
而不是预期的承诺。
以下是beforeEach
:
mockWorkingService = jasmine.createSpyObj('mockWorkingService', ['retrieve']);
mockWorkingService.retrieve.and.callFake(function(crit) {
workingServiceDfr = $q.defer(); // $q is defined globally
return workingService.promise;
});
mockFailingService = jasmine.createSpyObj('mockFailingService', ['retrieve']);
mockFailingService.retrieve.and.callFake(function(crit) {
failingServiceDfr = $q.defer();
return failingService.promise;
});
此外,retrieve
是为每项服务单独定义的。
答案 0 :(得分:0)
简短回答是“是”,你可以在beforeEach
陈述中有多个间谍。