問題タブ [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.
backbone.js - 単体テストと Jasmine の学習
私はフロントエンド開発者で、TDD と BDD は初めてです。
私にはこの仕事があります。AJAX 呼び出しから受け取った json オブジェクトをテーブルに入力します。これをスイートと仕様でどのように説明しますか?
前もって感謝します
編集
MVC には BackboneJS を使用し、スパイ、スタブなどには sinon.js を使用しています。
backbone.js - Backbone JS / Jasmine / Sinon : イベント後にモデルが変更されたかどうかをテストする
バックボーン ビューがイベントをトリガーしてからモデルが変更されたかどうかをテストするにはどうすればよいですか?
jquery - jqueryダイアログが表示されるユニットテストを行うにはどうすればよいですか?
以下のコードを書いて、jquery ダイアログが例外的に表示されるかどうかをテストしてみます。
ただし、次のエラーが表示されます: テスト #1 で死亡しました: 未定義のプロパティ ダイアログを関数としてラップしようとしました - { "メッセージ": "未定義のプロパティ ダイアログを関数としてラップしようとしました", "名前": "TypeError" }
jquery コードは非常に単純です。
このシナリオで jquery ダイアログをモックして単体テストを作成する方法を知っている人はいますか?
javascript - jsTestDriver:テスト実行時のorg.jvyaml.ParserException
jsTestDriverでJavaScriptテストを実行しようとしています。テストを開始すると、例外が発生しました。
jsTestDriverの.confファイルのargsにファイルパスが1つしかない場合、この問題は発生しません。例:
backbone.js - Jasmine + Sinon 仕様でバックボーン コレクション フェッチが読み込まれない
このスペック出力を実行すると、「Expected 0 to equal 2.」が表示されます。2 はフィクスチャのモデル オブジェクトの正しい長さであるため、Sinon の fakeServer はモックされた応答で適切に応答しています。フェッチ後にコレクションにオブジェクトがない理由がわかりません。どんな助けでも本当に感謝します!
参考までに: これは、バックボーン シノン + ジャスミンのチュートリアル ( http://tinnedfruit.com/2011/03/25/testing-backbone-apps-with-jasmine-sinon-2.html ) に沿って作成したものです。
仕様:
モデル:
編集:
以下の Buck Doyle は、仕様上の問題がないことを確認するのに役立ちました。Jasmine ヘッドレス Webkit 構成に何らかの問題があり、仕様が Jasmine スタンドアロンで実行されている場合は合格です。
backbone.js - Sinon + Backbone 仕様は Jasmine Headless Webkit では失敗するが、スタンドアロンの Jasmine では合格する
私は、Sinon を使用してフィクスチャ データでサーバーの応答を偽造するバックボーン コレクション仕様 (もちろん todos) を持っています。これはスタンドアロンの Jasmine では成功しますが、私の Jasmine Headless Webkit セットアップでは失敗します。
失敗はこれです:
Sinon と私のフィクスチャは、2 つの todo を含む偽の応答を適切に返しますが、コレクション内で解析される todo はありません。
Jasmine スタンドアロンでのこのすべての動作を示すフィドルがあります here
私の Jasmine Headless Webkit の読み込み順序は次のとおりです。
そしてコード(もちろんフィドルでも):
使用されているツールのいくつかは私にとって初めてなので、助けていただければ幸いです--ありがとう!!
javascript - Sinon.jsでイベントエミッターをスタブするにはどうすればよいですか
私は以下をスタブしようとしています:
最初のパラメータが「complete」の場合にのみコールバックを呼び出したい。
私がテストしている関数には、次のものも含まれています。
したがって、completeコールバックとエラーコールバックの両方を起動するyieldcauseを実行することはできません。
シノンを使わないのなら、次のように書いて偽造します。
javascript - ジャスミン単体テストで他のオブジェクトに応じて機能をテストする方法
Eventというバックボーンモデルのジャスミン単体テストがあります。
このモデルには、次の関数があります。
4つの依存関係があります。
- ユーザーモデル
- ユーザーコレクション
- 参加モデル
- 参加コレクション
ベストプラクティスであるため、すべてのモデルを個別にテストしたいのですが、方法がわかりません。
モックとスタブにsinon.jsを使用していますが、この状況で正しく使用する方法がわかりません。
ありがとう!
javascript - sinon.fakeServerを使用してフィクスチャデータを取得する
sinon.fakeServer
またはとrequire.jsを使用してBackbone.Model.fetchリクエストをシミュレートしようとしてsinon.useFakeXMLHttpRequest
います。
これが正しく機能していない私のコードのピアスです(1)
私の質問は
、sinon.fakeServerを使用してフィクスチャデータを取得するにはどうすればよいですか?
このコードの最後にある2つのコメントをお願いします。
PS:
sinon.fakeServerに関するコードをコメント化してフェッチ要求を行うと、サーバーに対してget要求が行われます。
sinon.fakeServerを使用してgetリクエストを行うと、何もフェッチされません(サーバーとフィクスチャの両方)
(1)
javascript - base.jsクラスのユニットテスト
私はいくつかのbase.js(dean edwards base.js)コードをテストしていて、いくつかの基本関数が特定の引数で呼び出されることをテストしたいと思います。私たちのテストスタックは、jsコード、qunit、sinonのように見えます。たとえば、私は次のようにしています。
したがって、上記の例では、「Bar」の新しいインスタンスを作成し、renderメソッドを呼び出します。Barレンダリングメソッドはいくつかの構成を指定し、それを親レンダリングメソッドに渡します。(sinon.jsを使用して)そのベースレンダー呼び出しをスパイする方法はありますか?私は通常、次のようなことをします。
しかし、それは私にレンダリングの最初の呼び出しを取得するだけです。