私はそうのような別のモジュールから別のサービスに依存してサービスを持っている:私は私のauthService
の書き込みテストをしようとしているが、注入エラーを取得しています別のモジュールから別のサービスでのサービスのモック
(function() {
'use strict';
angular
.module('app.core')
.factory('userService', userService);
function authService() {
return: {
userLoggedIn: false
}
}
})();
(function() {
'use strict';
angular
.module('app.services')
.factory('AuthService', authService);
authService.$inject = ['$http', 'userService'];
function authService($http, userService) {
}
をそれは私がこれを克服することができ、$provide
を使用しますどのようにuserService
beforeEach(function() {
module('app.services');
});
beforeEach(inject(function(_AuthService_) {
authService = _AuthService_;
}));
を見つけることができないので、ここで私を助けて?
UPDATE
私は次のことを試みたが、それでもエラーを取得
beforeEach(function() {
module('app.services');
});
beforeEach(inject(function(_AuthService_, _$provide_) {
authService = _AuthService_;
$provide = _$provide_;
}));
beforeEach(function() {
module(function ($provide) {
$provide.value('userService', function(){
return {
userLoggedIn: false
}
});
});
});
は
[OK]をを解決し、私はちょうど次の操作を実行するために必要な:
beforeEach(function() {
module('app.dataservices');
module(function ($provide) {
$provide.value('userService', function(){
return {
userLoggedIn: false
}
});
});
});
beforeEach(inject(function(_AuthService_) {
authService = _AuthService_;
}));
テストが今すぐ通っています
はい、私は問題ですが、私のテストでは、AuthServiceを含む 'app.services'モジュールにのみ読み込んでいます。しかし、このサービスは、別のモジュールに含まれているサービスに依存しています。だから私は、私のテスト仕様に 'app.core'もロードせずに、' AuthService'に私の 'userService'の模擬バージョンを提供する方法を見つけようとしています – mindparse