問題タブ [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 に答える
19547 参照

node.js - マングースモデルをシノンでスタブする

特定のモデルでMongooseメソッドのスタブを作成したいので、作成したsaveモデルのインスタンスは通常のMongoosesaveメソッドの代わりにスタブを呼び出します。私の理解では、これを行う唯一の方法は、次のようにモデル全体をスタブ化することです。

残念ながら、このコード行により、テストで次のエラーがスローされます。

ここで何が悪いのか誰か知っていますか?

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

javascript - casperjsでxmlhttprequestsを偽造する

casperjs を使用してエンドツーエンドのテストを作成しており、ajax サーバーの応答を偽造したいと考えています。

私は、次のように、xmlhttprequest オブジェクトをモックし、常に期待される結果を返す単純なスクリプトを含めるというアイデアを思いつきました。

次に、次のようsetup_ajaxにキャスパー テストを呼び出します

しかし、今後の ajax リクエストは、まだ私の xmlhttprequest 実装を避けているようです。

$.ready() を使用してその場で setup_ajax を実行し、casper からも呼び出してみましたが、どちらも機能しませんでした

さらに興味深いことに、オブジェクトの存在のチェックが奇妙なことに失敗します。

ただし、sinon は適切に含まれています。少なくとも、setup_ajax 関数の外部で casper を呼び出したときにエラーは発生しませんでしたが、故意に sinon を除外したときにエラーが発生しました。

casperjs で xmlhttprequests をモックするアイデアはありますか?

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

javascript - Sinonjsは未定義のプロパティ「quoteStrings」を読み取れません

シノンは私にいくつかの楽しいエラーを与えています:

それを引き起こすテストは次のとおりです。

そして、テスト中のコード:

アップデート:

テストに合格するようにコードを更新すると、エラーが発生しないことがわかりました。

したがって、それは sinon.js の期待の失敗と関係があるに違いありません。おそらくsinon.jsのバグです。

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

unit-testing - Sinon.js(JSモックライブラリ)の代替手段は何ですか?

Sinon.jsの価値のある代替手段はありますか?

ありがとう。

0 投票する
17 に答える
105763 参照

javascript - JavaScript単体テストでlocalStorageをモックする方法は?

モックするライブラリはありますlocalStorageか?

私は、他のほとんどの JavaScript モックにSinon.JSを使用してきましたが、それが本当に優れていることがわかりました。

私の最初のテストでは、localStorage が firefox (sadface) で割り当て可能であることを拒否しているため、おそらくこれを回避するための何らかのハックが必要になるでしょう:/

現在の私のオプションは次のとおりです(私が見るように):

  1. すべてのコードで使用するラッピング関数を作成し、それらをモックします
  2. localStorage のある種の (複雑かもしれない) 状態管理 (テスト前のスナップショット localStorage、クリーンアップ復元スナップショット) を作成します。
  3. ??????

これらのアプローチについてどう思いますか? また、他にもっと良い方法があると思いますか? いずれにせよ、オープンソースの良さのために、最終的に作成した「ライブラリ」をgithubに配置します。

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

javascript - Javascript 単体テストの依存関係 - 依存オブジェクトが変更されたときにテストを失敗させる方法

モデル プロパティに依存するコントローラーがあります。このコントローラーをテストしてモデルをスタブ化するテストを作成しました。モデルのプロパティ名が変更されるたびにコントローラーのテストを失敗させるにはどうすればよいですか?

次に例を示します。

モデル:

コントローラ:

コントローラーのテスト:

「name」プロパティが「name2」などの別のものに変更されるたびに、このテストが失敗するようにします。

JavaScriptでそれを行う方法について、誰かが良い提案を得ましたか?

ありがとう、シャイ

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

javascript - 偽のサーバーをSinonからJasmineに変換する方法。

Sinonを使用して偽のサーバーを作成する方法の例を見つけました。
これがコード(1)、(2)です。

ジャスミンだけで同じものが作れるのでしょうか?
そうであれば。コード(1)と(2)をどのように書き直す必要がありますか?


(1)


(2)

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

node.js - process.nextTick でテストする方法

Mochaを使用していくつかのNode.jsコードをテストしておりprocess.nextTick()、メソッドのコールバックを呼び出すために使用したいと考えています。

コード

テスト

何らかの理由で、done()mocha を実行すると、2 回呼び出されたというエラーが発生します。の外でコールバックを実行すると、process.nextTick().

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

unit-testing - バックボーンを使用したJasmineとSinonとのAJAX呼び出しの防止

SinonとJasmineを使用してBackboneアプリのテストを開始したばかりです。私は(coffeescript)のようなビューを持っています:

フェッチされていないコレクションでこれをテストしたいのですが、コード内でajax呼び出しを偽造する方法がわかりません(明らかに、仕様で簡単に実行できます)。プリフェッチされたコレクションを渡すことができることはわかっていますが、興味があります。Sinonを使用して、フェッチ関数をオーバーライドして偽の応答を返すことは可能ですか?

助けてくれてありがとう。

0 投票する
9 に答える
105443 参照

javascript - シノンスタブを簡単にクリーンアップ

モカのbeforeEachブロックできれいに動作するすべてのシノンスパイモックとスタブを簡単にリセットする方法はありますか?

サンドボックスはオプションだと思いますが、これにサンドボックスを使用する方法がわかりません