12

Angular アプリケーション用に分度器を使用してエンド ツー エンドのテストを作成しています。単体テスト用に httpBackend をモックできますが、実際にサーバーを呼び出して JSON 応答を取得し、返されたデータに対して再度テストを書きたいと考えています。
私はstackoverflowで多くのことを読みましたが、これがどのように行われるか理解できません.

$http を使用しますか? Jasmine テストに挿入するにはどうすればよいですか? 応答 JSON を Jasmine テストに戻すにはどうすればよいですか?

これを行うための指示が記載されたヘルプやリソースへのリンクは役に立ちます。

繰り返しますが、サーバーをモックしたくありません。サーバーにアクセスして JSON を取得したいのです。

ありがとう!

4

4 に答える 4

5

私は現時点でこれを自分で取り組んでいます。私が思う簡単な答えは、自分で手動でテストする場合とまったく同じようにアプリケーションをセットアップするということです。つまり、分度器は実際には単なるロボットユーザーであり、アプリケーションの内部にはアクセスできません (まあ、ほとんどアクセスできません)。

したがって、アプリケーションに Web サーバーが必要な場合 (ほとんどの場合)、その Web サーバーを起動し、分度器をブラウザー経由でアプリケーションに接続して実行します。

私の場合、grunt を使用して、分度器 e2e テストの実行を開始する前に、基本的なデータベース セットアップを行うタスクを呼び出すことを目指しています。これにより、既知のデータベース状態が得られるはずです。

この例として、AngularJS で Rails 4 を使用するためのチュートリアルを書いています。e2e テストに分度器を使用するセクションは Rails 固有のものではなく、役に立つかもしれません: http://technpol.wordpress.com/2013/ 11/16/5-エンドツーエンドのテスト/

于 2013-11-16T05:46:44.767 に答える