我需要使用 Karma/Jasmine 在 AngularJS 中设置一些集成测试,但遇到了麻烦,因为不使用 ngMock 时(因为我想访问实际的 $http 端点),没有 module
或inject
方法。
那么如何将服务注入(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();
});
});
关于angularjs - 集成测试时在AngularJS中使用$injector(不使用ngMock),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30226062/