我需要使用Karma / Jasmine在AngularJS中设置一些集成测试,但是遇到了麻烦,因为当不使用ngMock时(因为我想访问实际的$ http端点),没有module
或inject
方法。
那么,如何将服务注入测试?
我试过angular.injector.invoke(...)
但无法正常工作,总是返回类似Unknown provider: AuthServiceProvider <- AuthService
的错误。
有什么想法吗?
最佳答案
试试这个
'use strict';
describe('Login User', function () {
var app, LoginService;
beforeEach(module('app')) ;
beforeEach(inject(function(_LoginService_) {
LoginService = _LoginService_;
})) ;
it('Should be logged in', function () {
var isLoggedIn = LoginService.isUserLoggedIn();
expect(isLoggedIn).toBeTruthy();
});
});