Javascript 使用Jasmine单元测试测试promise时出错

Javascript 使用Jasmine单元测试测试promise时出错,javascript,angularjs,unit-testing,jasmine,angularjs-rootscope,Javascript,Angularjs,Unit Testing,Jasmine,Angularjs Rootscope,我一直在用Jasmine编写一些单元测试,我有一个函数,在我自己的工厂使用的服务中返回一个承诺。我正在执行以下步骤: inject(function(_$rootScope_, _$q_, swIncludedService){ includeDeferred = q.defer(); includeDeferred.resolve(); spyOn(swIncludedServiceMock,'testMethod').andReturn(includeDeferred.promise); }

我一直在用Jasmine编写一些单元测试,我有一个函数,在我自己的工厂使用的服务中返回一个承诺。我正在执行以下步骤:

inject(function(_$rootScope_, _$q_, swIncludedService){
includeDeferred = q.defer();
includeDeferred.resolve();
spyOn(swIncludedServiceMock,'testMethod').andReturn(includeDeferred.promise);
});

it('....',function(){
rootScope.$apply();
expectSomething...
});

我做了一些调试,它通过了我的promise函数,但在完成最后一行之后,它进入StateBrowser并抛出以下错误:无法找到路径的状态。:/root。

您需要添加方法代码,因为我们知道解决promise后会发生什么。到目前为止,代码乍一看似乎还不错。它看起来不像您设置了
rootScope
-变量?或者仅仅是您没有包括测试的这一部分?我设置了它,没有包括在我的代码中。