0
私は既存の角度アプリを持っています。今私はいくつかの単体テストから始めたいと思います。ジャスミンとカルマを使って私のサービスをテストします。 私の問題は、$ stateProvider依存性を持つサービスをテストできないことです。私が使用しています何 :テストモジュールとプロバイダ依存関係をどのようにするか?
angular.module('starter.start', []).config(function ($stateProvider) {
// ...
}).factory('MyService', function() {
// ...
});
テスト:
describe('MyServiceSpec', function() {
var MyService;
beforeEach(angular.mock.module('starter.start'));
beforeEach(inject(function(_MyService_) {
MyService= _MyService_;
}));
it('should exist', function() {
expect(MyService).toBeDefined();
});
});
が、私はエラーを取得するUnknown provider: $stateProvider
は - 角度モック1.5.8
私のコード - 1.5.8 をangularjs。 私の研究では、私は$provide
で何かをする必要があることを知ったが、これをどうやって行うのか分からない。
おかげで、これを呼び出す必要があり、あなたの設定ファイルに$ stateProviderを追加する
が必要助けてくれた。しかし、$ stateProviderをモックする方法はありませんか?将来は、私のモジュール設定が$ stateProviderのような依存関係としてすべての依存関係を初期化したくありません。私がテストしたい実際のサービスは$ stateProviderとは関係がないためです。 – user3481997
特定のテストケースに対して使用する依存関係を注入する必要がありますが、configからすべてを注入する必要はありません。 –