【发布时间】:2017-06-01 00:52:15
【问题描述】:
这就是我的服务的样子
TestService.initializeDefaults = function() {
var qPromise = $q.defer();
$q.all({localResource : localResource.fetch(),
item : itemResource.fetch()}).then(function(directories){
//stuff happens with directories
$q.all({
thing1 : anotherThingFetch.fetch(),
thing2: someThingFetch.fetch(),
thing3: thingFetch.fetch()
}).then(function(funData) {
//stuff happens with the data
preventiveServicesService.fetch().then(function() {
//stuff happens
});
});
}.bind(this));
return qPromise;
};
我正在尝试使用 karma 来测试此 initializeDefaults 方法中的所有函数是否已运行。这意味着基本上所有的提取都发生了。到目前为止,这是我在测试中所拥有的:
it("should initialize defaults (Scenario 1)", function() {
service.initializeDefaults();
rootScope.$apply();
expect(localResourceMock.fetch).toHaveBeenCalledWith();
expect(itemResourceMock.fetch).toHaveBeenCalledWith();
【问题讨论】:
标签: javascript angularjs testing jasmine karma-runner