AngularJSサービスの依存関係を正しく解決するのに苦労しています。
StackOverflowで同様のエラーが発生した他の投稿が多数ありますが、いずれも問題を解決していないようです。ここで
は、アプリのコードである:ここで
cm.modules.app = angular.module('myApp', ['ngRoute', 'ngAnimate']);
myServiceName = function($http) {
// do stuff
};
myServiceName.prototype.value = 1;
cm.modules.app.service('defaultAlertFactoryA', myServiceName);
は、テストコードです:ここで
describe('test alertFactoryA', function() {
var $provide;
var mAlertFactoryA;
beforeEach(module(cm.modules.app));
beforeEach(angular.mock.module(function(_$provide_) {
$provide = _$provide_;
}));
beforeEach(function() {
inject(function($injector) {
mAlertFactoryA = $injector.get('defaultAlertFactoryA');
});
});
it('should work', function() {
expect(true).toBe(true);
});
});
は誤りです:
Error: [$injector:unpr] Unknown provider: defaultAlertFactoryAProvider <- defaultAlertFactoryA http://errors.angularjs.org/1.2.0-rc.2/ $injector/unpr?p0=defaultAlertFactoryAProvider%20%3C-%20defaultAlertFactoryA
は質問:どのように私はこの問題を解決しますテストは合格する?あなたは
beforeEach(module('myApp'));
をテストし、あなたのカルマの設定ファイルに含まれてあなたのサービスファイルですか? (私はあなたがカルマを使用していると仮定しています) – dcodesmith
@dcodesmithカルマを使用しています...はい、私がconsole.log(myServiceName)をしたことを確認する。テスト内から参照細かい部分を解決しました – eb80