我需要使用Karma / Jasmine在AngularJS中设置一些集成测试,但是遇到了麻烦,因为当不使用ngMock时(因为我想访问实际的$ http端点),没有moduleinject方法。

那么,如何将服务注入测试?

我试过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();
    });
 });

10-06 07:25