4

AngularJS テスト環境のセットアップがようやく完了し、アプリケーションのページが機能しているかどうかをテストしようとしています。これには、テンプレートルートリクエストディレクティブなどが含まれます。

私が発見したことから、動作中のアプリケーションをテストすると、ほとんどの作業を行うためにモックが必要であることがわかりました。これは良いことですが、アプリケーションから実際のテンプレートとデータをテストしたいと思います。

アプリケーション内で GET 呼び出しが行われるたびに、次のようなエラーが表示されます。

Unexpected request: GET application/templates/home.html
No more request expected
Error: Unexpected request: GET application/templates/home.html

リクエストを正しくダウンロードできないことがわかりました。それは結構です。私が考えていることから、テスト ランナー (testacular) はテンプレート ファイルをダウンロードできません。これは、別の環境にあるためです (HTTP アドレスが提供されていません)。これを修正する方法について私が見つけた唯一の解決策は、$httpBackend サービスを使用してモックでリクエストをスタブすることです。これは特定の状況では便利ですが、実際のデータを取得したいと考えています。

これを修正する方法について何か考えはありますか?

4

1 に答える 1

3

おそらく、2種類のテストを作成する必要があります。

  1. コントローラーやディレクティブなどのコンポーネントを分離してテストするためのモックを使用した単体テスト
  2. 独自のサーバーからのデータを含む、フルスタックを実行するe2eテスト。

これらの2種類のテストには、それぞれ個別のテスト構成が必要です。

Angularは、ユーザーと同じように、テストブラウザーのナビゲートとアプリケーションの操作をサポートします。説明とAPIはここに文書化されています:http://docs.angularjs.org/guide/dev_guide.e2e-testing

私のtestaculare2eの設定と説明はここに投稿されています: https ://stackoverflow.com/a/13410567/1739247

proxiesその投稿で説明されているように、自分のサーバーに対してテストを実行するための重要な部分はです。

于 2012-11-23T17:44:24.253 に答える