問題タブ [sinon]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
6 に答える
9326 参照

javascript - backbone.js でルーターを正しくテストしていますか?

sinon.jsそのため、 &を使用して、進行中の JavaScript アプリのテストを書き始めましたjasmine.js。全体的にかなりうまく機能しますが、ルーターもテストできるようにする必要があります。

ルーターは、現在の状態で、多数のビューやその他のものをトリガーし、アプリケーションの状態と UI itneraction に依存jasmine.jsする呼び出しによって現在のテストを終了します。Backbone.navigate

では、ルーターを「サンドボックス化」したまま、ルートを変更できないようにしながら、別の場所へのルーティングが機能することをテストするにはどうすればよいでしょうか?

pushState の変更などを監視する何らかのモック関数を設定できますか?

0 投票する
1 に答える
2985 参照

javascript - Sinon.js fakeServer が応答メソッドでコールバックを起動しない

POSTSinon.js を使用して、リクエストに対するサーバーのレスポンスをモックしようとしています。成功のコールバックが発生しないことを除いて、正常に動作するようです。

0 投票する
2 に答える
1901 参照

javascript - Callback not firing from the sinon.js fakeServer for a call to $.ajax

I have the following jasmine spec:

The addReviewStatus is a jQuery plugin I have written:

The getJSON method above calls $.ajax like this:

The anonymous function callback of the getJSON method is not being fired. Also the call to $.ajax is returning a 404 not found. Can anyone see what I am doing wrong?

0 投票する
2 に答える
3103 参照

backbone.js - バックボーン ジャスミン sinon.stub typeError

Backbone Todo モデルをスタブ化する Backbone Todos コレクションの簡単な仕様を書こうとしています。

これが私の仕様です:

これにより、次のエラーが表示されます。

Todo モデルは todo = new TodoApp.Models.Todo() として定義されていますが、エラーは発生しません。

それはスコーピングの問題ですか?誰かが私を正しい方向に向けることができますか?

0 投票する
1 に答える
2493 参照

javascript - 成功コールバックを呼び出さない Sinon を使用して Backbone.js モデルの保存をテストする

Jasmine と Sinon を使用して Backbone.js アプリをテストしています。ボタンのクリックをクリックすると、モデルの save() メソッドが呼び出され、ビューの el 要素にメッセージを追加する成功のコールバックが処理されることを確認しようとしています。sinon サーバーがモデルの成功コールバックをトリガーするのに問題があります。

これは、私の仕様の beforeEach がどのように見えるかです (beforeEach の変数はすべて、describe 関数で var スコープです)。

実際のテストは次のようになります。

これの実装を構築しようとしているときに、単純なコールバック メソッドを作成して、成功のコールバックがトリガーされることを示しました。

テストを実行すると、コンソールに「保存中」と表示されますが、成功のコールバックが呼び出されません。

0 投票する
3 に答える
2828 参照

javascript - Backbone.js は、ブラウザで Sinon Spies を使用してテストを表示します

モデルをフェッチした後にレンダリング関数が呼び出されていることをテストするために、バックボーン ビューのテストを作成しています。テストは次のとおりです。

Sinon Spies を使用して、スパイ オブジェクトを profileView ビュー オブジェクトのレンダリング関数にアタッチしています。

ビューは次のとおりです。

テストで fetch が呼び出された後、change イベントが発生し、ビューの render 関数が呼び出されますが、Sinon Spy は render が呼び出されていることを検出せず、失敗します。

実験として、テストで render 関数を呼び出して、Spy がそれを識別したかどうかを確認してみました。

スパイは、上記の場合にコールが行われたことを検出しました。

私の最初のテストで Spy がレンダリング呼び出しを識別しない理由を誰か知っていますか?

0 投票する
2 に答える
585 参照

javascript - jQuery Ajax テストが機能しない

$.ajax メソッドを呼び出してそのコンテンツを要素に入れるだけの非常に単純な jQuery プラグインをテストしようとしています。テストでは、モックに JsTestDriver と Sinon を使用しています。

プラグイン ファイルは次のようになります。

理論的には非常に単純なプラグインです。

そして、成功関数をモックする単体テストを作成しました。

それも正しいようです。次に、このテストを実行すると、コンソールから次の行が出力されます。

したがって、成功関数は「alex」文字列を正しく受け取ります。次に、 $(this) 参照が出力され、メッセージが html() 関数で設定され、以前の設定値をログに記録すると null が返されます。最後のログ メッセージはテスト ファイルにあり、ご覧のとおり ajax テキストが設定されていません。

私が間違っていることを誰かが知っていますか?今は見えない何かが欠けていると確信しているからです。

0 投票する
3 に答える
1423 参照

backbone.js - 単体テストと Jasmine の学習

私はフロントエンド開発者で、TDD と BDD は初めてです。

私にはこの仕事があります。AJAX 呼び出しから受け取った json オブジェクトをテーブルに入力します。これをスイートと仕様でどのように説明しますか?

前もって感謝します

編集

MVC には BackboneJS を使用し、スパイ、スタブなどには sinon.js を使用しています。

0 投票する
1 に答える
758 参照

backbone.js - Backbone JS / Jasmine / Sinon : イベント後にモデルが変更されたかどうかをテストする

バックボーン ビューがイベントをトリガーしてからモデルが変更されたかどうかをテストするにはどうすればよいですか?

0 投票する
2 に答える
1248 参照

jquery - jqueryダイアログが表示されるユニットテストを行うにはどうすればよいですか?

以下のコードを書いて、jquery ダイアログが例外的に表示されるかどうかをテストしてみます。

ただし、次のエラーが表示されます: テスト #1 で死亡しました: 未定義のプロパティ ダイアログを関数としてラップしようとしました - { "メッセージ": "未定義のプロパティ ダイアログを関数としてラップしようとしました", "名前": "TypeError" }

jquery コードは非常に単純です。

このシナリオで jquery ダイアログをモックして単体テストを作成する方法を知っている人はいますか?