1

AngularJS モジュールのexpectwhenの違いは何ですか?ngMock

どちらも応答を提供します。

angularJS.com のドキュメントを読みましたが、よくわかりませんでした。

これは、Jasmine を使用してテストしたいサービスです。エンドポイントが呼び出されることを期待する必要がありますか?それとも、既知の値が返されることに期待する必要がありますか?

(function () {
    'use strict';

    var app = angular.module('cs');

    app.service('PlateCheckService', ['$http', function ($http) {
        return {
            checkPlate: function (plateNumber) {
                return $http.post('PlateCheck/Index', {
                    plateNumber: plateNumber
                }).then(function (response) {
                    return {
                        message: response.data.VehicleAtl === null ? 'Clean' : 'Hot',
                        alertClass: response.data.VehicleAtl === null ? 'alert-success' : 'alert-danger'
                    };
                });
            }
        };
    }]);

}());
4

1 に答える 1

3

ドキュメントの説明は私にとって非常に明確です:

リクエストの期待値とバックエンドの定義

リクエストの期待は、アプリケーションによって行われたリクエストについてアサーションを作成し、それらのリクエストに対する応答を定義する方法を提供します。期待される要求が行われなかったり、間違った順序で行われた場合、テストは失敗します。

バックエンド定義を使用すると、特定のリクエストが行われたかどうかをアサートせず、リクエストが行われた場合にトレーニング済みの応答を返すだけの、アプリケーションの偽のバックエンドを定義できます。テスト中にリクエストが行われたかどうかにかかわらず、テストは成功します。

したがって、 を使用するwhen()と、任意の要求を任意の順序で実行でき、テストは失敗しません。を使用expect()する場合、バックエンドが期待されるリクエストを、期待されるものと同じ順序で受信しない場合、テストは失敗します。

于 2013-11-02T22:22:08.260 に答える