問題タブ [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 投票する
1 に答える
2810 参照

javascript - バックボーン ビューでレンダリングされた要素の可視性をテストできません

私はBackbone.jsアプリケーションに取り組んでおり、JasmineとSinonでテストを追加しているときに、いくつかのDOM要素の可視性を判断するのに問題がありました.それらのいくつかは、アプリケーションで正しく見ることができたのに、テストで見えないと検出されました. .

問題を再現する小さな例を作成しました。2 つの要素セットに対して同じテストが 2 回実行されます。

  • 最初のセットは SpecRunner.html に直接存在します
  • 2 つ目はバックボーン ビューとしてレンダリングされています

テスト自体は、jQuery.is(':visible')(jasmine-jquery の を介して.toBeVisible()) を使用して、要素が表示されているかどうかを確認しています。2 番目のセットではなく、1 番目のセットに合格します。

ここでコードを github プロジェクトとして共有しました: https://github.com/maximevaly/3789_js

私は何かを忘れたか、おそらくライブラリを誤用したと思いますが、指を置くことはできないので、何か手がかりがあれば... :)

ありがとう!マキシム

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

jquery - Sinon.js を使用してアプリ サーバーへの呼び出しを防止する

簡単な質問:

sinon.js で javascript をテストして、次の$.ajax2 つのことを行いながらメソッドが呼び出されることを確認します。

  1. 実際にサーバーにアクセスしたくない
  2. サーバーからの応答をモックアップしたい

だからここにJSがあります:

ここに私のテストがあります:

このテストは失敗しましたが、次の例外がありました:

.doneしたがって、jQueryリクエストをモックアップして、呼び出しに正常に応答できる応答を取得できるかどうか疑問に思っていると思いますが、defferedObject()十分に理解していないようです。

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

javascript - sinon.match は未定義のように見えますが、適切なファイルがありませんか?

使用しようとしましたが、sinon サイトからのダウンロード リンクが表示されていないsinon.matchことに気付きました。match

http://jsfiddle.net/GccH5/

次に、 GitHub リポジトリmatchの lib からインクルードしようとしました:

http://jsfiddle.net/GccH5/1/

次に文句を言います: Uncaught TypeError: Object #<Object> has no method 'typeOf'.

GitHub の sinon を使ってみました:

http://jsfiddle.net/GccH5/2/

しかし今、スパイやスタブなどを自分で含める必要があるように見えますか? たとえば、すべてを1つの縮小ファイルにコンパイルするにはどうすればよいですか? または、sinonの推奨される使用方法は何ですか? node/npm/require を介している可能性があると思います...しかし、私はそれらを仕事で使用していません... :(

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

javascript - jasmine.Clock VS sinon.clock jasmin.Clock.useMock()の使用法の何が問題になっていますか?

ジャスミンを使ってjavascript/coffeescriptでユニットテストを試してみました。とてもいいです。

jasmine.Clock.Mock()を使用して時間を進め、setTimeoutコールバックを起動しようとしています。

残念ながら、jasmine.Clock.tick(1001)は効果がなかったようです。次に、独自のタイムモックを持つsinon.jsを発見しました。これを使用しても、問題はありませんでした。その理由を知りたいのですが。

テストするダミーのjqueryプラグインは次のとおりです。

そして、ここに仕様の両方のバージョンがあります:

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

coffeescript - ジャスミンスパイオンはシノンが機能しない場所で動作しますか?

いくつかのjsテストに取り組んでいて、私はsinonを使おうとしています。draw関数とdraw_association関数をスタブしたい次のテストがあります。ジャスミンのspyOnは機能しているようですが、sinon.spyを使用すると機能しません。理由について何かアイデアはありますか?

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

microsoft-metro - QUnitとSinon、XHRリクエストのテスト

私は単体テストに比較的慣れていないので、意味のある方法でXHRリクエストをテストする方法を見つけようとしています。

1)リクエストはさまざまなスクリプトやその他のリソースをページに取り込みます。正しい数のリソースが読み込まれていること、およびリクエストが成功していることを確認したいと思います。

2)リソースを提供しているサービスへの実際のリクエストを使用する必要がありますか?sinonjs.orgでfakeserverとfakexhrのリクエストを確認しましたが、これらがどのように意味のあるテストを提供できるのか実際にはわかりません。

3)私は既存のコードをテストしていますが、これはかなり無意味であることがわかりますが、それは私がしなければならないことです。そうは言っても、特定のメソッドには多くのコードがあり、さまざまなテストに分解される可能性があります。既存のコードを分解して、解釈された期待値のテストを作成する必要がありますか?または、実際にそこにあるもののテストを作成しますか?....それが理にかなっている場合。

ありがとう、-ジョン

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

jasmine - SinonJS偽サーバーの自動応答の使用

私はUT/IT用のJasmineでsinonjsの偽のサーバーを使用しています。server.autorespond=trueを設定しました。(server.autoRespondAfterのミリ秒を減らした後でもチェックされます)

問題:サーバーが要求に応答した後、コールバックがトリガーされません(サーバー要求のログとサーバー・オブジェクト自体をチェックして、応答テキストを確認できます)。Jasmineは、成功または失敗のcallback.CalledOnceのチェックに失敗します。

この問題は、次の場合には発生しません。server.respondWith(..)を設定した後にserver.respond()を使用していて、サーバーの応答後にコールバックが適切にトリガーされた。Jasmineは、成功または失敗のコールバックのチェックに合格します。CalledOnce。

私の理解では、自動応答により、サーバーは非同期要求を受け取ったときに自動的に応答します。これには、適切なコールバックの呼び出しが含まれますか?それでもserver.respondを使用する必要がありますか?

ありがとう。

コードスニペット:必要なjsonファイルを読み取り、サーバー応答として送信します。読み取られたjsonファイルは同期呼び出しです(非同期false)。

私のジャスミンスペックでは

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のバグです。