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

javascript - DOM 要素を取得して返す前に関数を待機させる

Mocha > Chai > PhantomJS を使用してヘッドレス テストを実行します。すべてがセットアップされ、機能していますが、フォームに不適切な資格情報を入力して、DOM 要素が作成されていることを確認しようとしています。

私がやりたいことは基本的にこれです:

しかし、私は取得しています:「キャッチされていない TypeError: null のプロパティ 'should' を読み取ることができません」

... div.status-oops がまだ存在しないためです。Chrome コンソールでも同じ結果が得られますが、数秒後に同じテキストを表示しようとすると、問題なく動作します。

返品を遅らせる方法はありますか?

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

node.js - スタブ関数を使用したテストでイベントがキャッチされない

私は得られない問題を実行しています。私が発行したイベントは、テストでキャッチされません。次のコードは次のとおりです ( event.js)。

そしてそれに応じたテスト:

今のところ、ここに私が見るものがあります:

  • console.log('emitted');が発生するため、イベントはテスト中に実際に発行されます。
  • が発生するため、exec関数は実際にスタブ化されます。console.log(cmd);

しかし、テストはタイムアウトで失敗し、次のエラー メッセージが表示されます。

テストからスタブを削除すると、テストは正常に実行されます。タイムアウトを増やしても、まだ同じ問題があります。

私が間違っていることについて何か考えはありますか?

よろしく

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

unit-testing - イベントがトリガーされたことを確認するための単体テストの作成

私は正しいアプローチが何であるか疑問に思っています。まずはテストコードです。

非常に単純に見えますが、イベントは通常非同期であるため、これは機能しません。

この方法では、テストは明らかに失敗します。すると、こんなことを考えていた…。

これは正しく機能し、イベントがトリガーされない場合、テストは 2 秒後に失敗します。ただし、一度だけトリガーされたという検証はありません。多分私はそのために別のテストが必要ですか?少なくとも 1 回トリガーされることは既にわかっているので、おそらくこの後にスパイでテストを使用できます。1つのイベントでは面倒すぎるようですが。

別の「汚い」アプローチは次のとおりです。

それはおそらく本当に防弾ではありません。確かに、おそらくより大きなタイムアウトが必要になるでしょう。ただし、これはテストの処理に時間がかかることを意味し、これはお勧めできません。

これをどのように解決すべきか他のアイデアはありますか?

0 投票する
4 に答える
337 参照

javascript - この式の浮動小数点の精度を向上させる方法はありますか?

2 つの値を補間してパーセンタイルを推定する式があります。

これにより、非常に優れた現実世界の結果が得られました。ただし、単体テストでは、常に重大な丸め誤差が発生するため、正しく機能していると断言するのに苦労しています。

3 つのテスト ケースで、40パーセンタイル、 50パーセンタイル、および 60パーセンタイルを取得しようとした結果、の計算が行われました。

これにより、次の結果が得られます。

1.2これは、40パーセンタイルを探しているという私の主張に反します。

すべてのケースで精度を向上させるためにこの式を再構築する方法はありますか? そうでない場合、chai アサーションでこの問題を回避する簡単な方法はありますか?

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

javascript - モカ: done() とコールバックのエラー

getUserMedia のコールバックにテストが含まれている mocha を使用したテスト コードの一部に行き詰まっています。

ここでは、done() は定義されていませんが、テストは成功しています。

ここで、エラーが発生します:

、しかし mocha インターフェイスはまだ検証済みとしてテストを示しています。(緑色のチェックマーク)

私は何か間違ったことをしていますか、それとも done() にバグがありますか?

0 投票する
4 に答える
9576 参照

javascript - Chai: パラメータに応じてエラーを予期するかどうか

エラーが有効な場合はスローされ、そうでない場合は何もスローされないという方法でエラーを処理する関数のテキストを実行しようとしています。問題は、使用中にパラメータを設定できないように見えることです:

理想的には、次を使用することです。

この機能を実現する方法はありますか?

関数のコード:

テストのコード (意図したとおりに動作しない):