問題タブ [sinon-chai]

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 投票する
0 に答える
36 参照

angularjs - sinon js単体テストで.thenの後の行をテストできません

sinon.jsmocha、の新生児chaiです。上記のライブラリを使用して単体テストを作成しようとしています。Project Front-End はAngularJSの組み合わせで入っていECMASCRIPT6ます。

Sinonjs私は何も理解していないのドキュメントから!それは複雑です。

これが私のJSスニペットです:

そして、ここに私のUNIT-TESTスニペットがあります:

しかし、残念ながら立ち往生しています。私のコードは.then行の後に実行されません。

エラーがスローされるはずです。私は と をスパイしていないuserAlertsServiceからnavigationServiceです。

何が間違っているのか教えてください

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

reactjs - 酵素で span タグのクリックをシミュレートする

コンポーネントにスパンタグがあり、酵素を使用してクリックする必要があります

これが私のテストです

クリックするものを見つけるのに混乱しています。通常、いくつかの div クラスまたはその他の検索可能なタグがあります。

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

node.js - Express js単体テストでsinon jsを使用する方法

こんにちは、express js コードで単体テストを行いたいのですが、データをモックしたいので、複数の Web サイトやブログを検索した後、このライブラリを見つけましが、このライブラリをモックやデータに使用する方法がわかりません。私のテストコードは

現在、このコードはデータベースからデータを取得していますが、モック データを使用した単体テストが必要です。どうすればこれを達成できますか?

__編集__

Express js routes ファイル内に記述されたコードをテストしたいと考えています。このルートは、このようにapp.jsファイル内で呼び出しています

現在、顧客のルートファイルに含まれるコードは次のとおりです。

モックデータを使って「get」メソッドのレスポンスをテストしたい

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

node.js - chai と sinon を使用してメソッド内の promise をスタブ化する

テスト対象の関数は、おおよそ次のようになります。

Chai と Sinon を使用してこれをテストしようとしています。

さまざまなガイドに従ってみましたが、現在の呪文は次のようになります。

externalService.post正しくスタブアウトできません。どんな助けでも大歓迎です。

私は Chai と Sinon にまったく慣れていないので、ばかげたことをしていることを十分に期待してください。

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

javascript - 予期エラーが表示されるのはなぜですか?

ライブラリの仕様を作成して、値が定期的に発行されるようにしました。私は sinonjs を使用しており、スパイとしてコールバックを作成しました。私は sinonjs で偽のタイマーを使用して、10 秒の余分な 2 つの間隔をシミュレートしています。ただし、テストが tick メソッドの最初の使用に到達すると、エラーが発生します。以下のエラーが発生します

以下は私のテストのコードです

これは私の生産コードです

なぜこのエラーが発生するのか、誰にも分かりますか?

0 投票する
0 に答える
25 参照

node.js - Promise を実装するためにリファクタリングした後、Sinon + Chai を使用したテストが失敗する

このアプリケーションでは多くのコールバックが発生し、「コールバック地獄」の良い例になりました。200 行または 300 行で、それぞれ 10、15 のネストされたコールバックを持つメソッド。

次に、良い習慣として、これらのコールバックのほとんどを分離し、then という名前を付けて、Bluebird の promise を使用して、より組織化された「then-chain」を作成しました。

私が実装したすべてのテストとメソッドは互いに非常に似ているため、同じメソッドの 2 つのテスト ケースが失敗した理由は正確にはわかりません。

next関数とDAOメソッド(Mongoクエリを作成する)が呼び出されているかどうかを確認するためにSinonを使用していました。

その後、このメソッドで変更されたのは、そのメソッドの最初に実行されていたロジックを promise 内に転送したことであることに気付きました。

trueテストが promise の完了を待たずに間違って返されたため、「next」への呼び出しが評価されませんでした。

これは、悪い動作を示したテストの一部です。

コントローラーのメソッドを変更しましたが、基本的にはプロミスの中にロジックがありました。出すことで問題は解決します。

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

javascript - Sinon: 関数呼び出しと var 変更の順序をテストする

私たちが持っているとき

testFunction が呼び出される前に testVar が変更されたかどうかをテストする方法はありますか?

編集:ないようです。しかし!変数がオブジェクト プロパティの場合、同様のことができます。以下の私自身の答えを確認してください。