集成测试时在AngularJS中使用$injector(不使用ngMock)

2024-03-16

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

那么如何将服务注入到我的测试中呢?

我试过了angular.injector.invoke(...)但无法让它工作,总是返回类似的错误Unknown provider: AuthServiceProvider <- AuthService.

想法?


Try this

'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();
    });
 });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

集成测试时在AngularJS中使用$injector(不使用ngMock) 的相关文章

随机推荐