在集成测试时在 AngularJS 中使用 $injector(不使用 ngMock)
Using $injector in AngularJS when integration testing (without using ngMock)
我需要使用 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();
});
});
我需要使用 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();
});
});