0

バックボーンコレクションがあり、いくつかのパラメーターを.fetch({data:{gender:'male'}})に渡す必要があります。パラメータが渡されたことをジャスミンでテストする方法はありますか?

前もって感謝します

4

1 に答える 1

0

以下の例の方法を使用することで、おそらくそれを達成できます。 以下のコードはfetch-callをインターセプトして戻り、呼び出しはサーバーに到達しないことに注意してください。サーバー側のエミュレーションが必要な場合は、Sinonまたは他の同様の方法を使用する必要があります。

    describe("People collection" function() {
        var people = Backbone.Collection.extend({
            // ...
        });

        function searchPeople(people, data ) {
            people.fetch(data);
        }

        it("must verify the fetch parameters!", function(){
            var param = {data : {gender : 'male'}};
            // Set up the spy.
            spyOn(people, 'fetch').andReturn(); // Warning: this makes the call synchronous, Fetch actually won't go through!

            // Now perform the operation that would invoke Collection.fetch.
            searchPeople(people, param);

            expect(people.fetch).toHaveBeenCalled();            // Verifies the fetch was actually called.
            expect(people.fetch).toHaveBeenCalledWith(param);   // Verifies that the fetch was called with specified param.

        });
    });
于 2012-04-12T06:22:28.130 に答える