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

javascript - Chaiの配列のrspec=〜に相当します

チャイですか、マッチャーはrspecsと同等です=~(つまり、すべての要素がありますが、順序は重要ではありません。

合格例

失敗する

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

mocha.js - チャイ、モカ:アサーションを特定する必要があります

私はとをアサーションとして使用mochaしています。chai

私の仕様にはいくつかのアサーションがあります:

それらの1つが失敗した場合、モカは「falseがtrueであると予想されます」と書き込みます。それらを識別する方法はありますか?

expect私はそれを行うことができます:

このようなことは可能shouldですか?

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

node.js - Mocha/Chai で CoffeeScript をテストする際の fs.readFile の奇妙な動作

次の CoffeeScript コードがあると考えてください。

Mocha の次のテスト ファイル:

私はテストを実行します:

奇妙なことに、コンソールは何もログに記録しません。Coffee をこれに変更すると (最後に 2 行追加):

テストを実行すると、予想どおり、コンソール ログfs.readFile callback firedが 2 回記録されます。

では、なぜ最初のケースでコンソールが空だったのでしょうか?

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

node.js - すべてのテストの前に必要なファイルを取得できません

コーヒースクリプトとチャイを組み合わせてモカをセットアップしようとしています。テストを含むすべてのファイルの前に、次のファイルを含めたいと思います。

test/_helper.coffee

これは、AppDir バリアベルにアクセスできるようにするためです。ファイルを要求するときに、アプリ ディレクトリへの完全なパスを指定する必要がないようにします。

test/app/setup-test.coffee

次の設定を試しました。

次のように _hellper.coffee を mocha コマンドライン オプションに追加しました。

など:

そして、setup-test.coffee で通常の require を試しました:

どのような方法を使用しても、テストを実行すると次のエラーが発生します。

テストの実行方法を知りたい人のために、ここに私の MAKE ファイルを示します。

Makefile

誰かが私を助けてくれませんか、ありがとう。

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

node.js - Mocha での非同期スローのテスト

接続が切断された場合に Redis に再接続しようとするコード ブロックがあります。接続を再確立できない場合は、エラーがスローされます。エラーをスローするコード ブロックをテストしようとしていますが、mocha と chai を使用して成功するテストを作成できません。

私のテストは次のようになります。

assert().throws を使用してみましたが、非同期スローが発生する前に失敗します。同じ理由で、try/catch ブロックも失敗します。私の推測では、モカが例外をキャプチャして再スローするのは、uncaughtException ブロックがエラーを取得するためですが、モカがテストに失敗する前ではないためです。助言がありますか?

編集:

関数で呼び出しをラップしようとしました:

そして私は次のようになります:

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

node.js - Chai.jsの例外にスタックトレース情報を含めるにはどうすればよいですか?

NodeでChai.jsを使用しています。console.log(e)eがChai.jsによってスローされた例外である行は、のようなものを出力しますexpected a to be within 0..3。Chai.jsの例外にスタックトレース情報を含めるにはどうすればよいですか?

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

javascript - sinonのコーヒースクリプトコンストラクターをスパイ

コーヒー スクリプト コンストラクターが例外をスローすることを確認しようとしています (sinon と sinon-chai を使用)。

犬のインスタンス化が例外をスローすることを確認するスパイを正しく作成するにはどうすればよいですか?

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

node.js - 「should.be.false」構文パスjslintを取得するには?

NodeJS コード用に JS UT を作成しています。私はアサーション ライブラリとしてChaiを使用しており、 should構文を好みます。また、jslintを使用して JS ファイルの構文をチェックします。UT の JS ファイルもチェックします。

今、私はjslintChaiに問題があります。Chaiでは、以下を使用できます。

しかし、jslintは私に与えます:

jslintには多くのオプションがあることは知っていますが、このチェックをオフにする適切なオプションが見つかりません。

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

google-chrome - ChromeとMochaのグローバルリーク

私は次の非常に単純なモカ/チャイテストを持っています:

これは次の出力でクロームで失敗します:

エラー:グローバルリークが検出されました:css、cssFile、cssRule

FirefoxとSafariの両方で、問題なく合格します。

Google独自のスクリーンキャプチャ拡張機能によって定義された別のグローバル変数がありました。cssその拡張機能を無効にすると、Mochaは、、、cssFileおよびcssRuleグローバルリークについてのみ不平を言いました。

チェックしたところ、これらの変数はSafariまたはFirefoxで定義されていないため、ChromeまたはChrome拡張機能の1つで、これら3つの変数が定義されていることは明らかです。すべての変数を順番に無効にしてから再度有効にする以外に、どの拡張機能がこれらの変数を定義しているかを把握する方法はありますか?