12

Karma/Jasmine を使用して角度アプリケーションの単体テスト スイートをセットアップする場合config、テストのファイルにアプリ モジュールの関数を含む js を含めることをお勧めしますか?

これをテストから除外することが提案されていることを読みましたがconfig、アプリケーションの動作を妨げる重要なセットアップが機能で発生することが多いため、それは厄介なようです。

これに関するベストプラクティスは何ですか? 「モック」方法で同じことを行うモック構成関数を作成しますか?

私は自分でこの問題に出くわしていますが、より広い戦略を理解したいと思っています: どのように angular-translate で単体テストを行いますか?

4

1 に答える 1

3

私のアプリケーションでは、最終的に次のソリューションを使用しました。

単体テスト時に実行したいすべての関数を含む「appBase」モジュールを定義し、「appBase」モジュールをconfig依存関係として宣言し、実行する必要のないすべての関数と関数を含む別の「app」モジュールを作成します単体テスト時。次に、すべての単体テストで「appBase」モジュールを使用し、最終的なアプリケーションでは「app」モジュールを使用します。コード内:runconfigrun

angular.module('appBase', ['dependencies'])
       .config(function() {
            // This one will run when unit-testing. Can also set-up mock data
            // that will later be overridden by the "app" module
        });

angular.module('app', ['appBase'])
       .config(function() {
            // This function will only run in real app, not in unit-tests.
       });
于 2013-11-19T21:37:18.073 に答える