問題タブ [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.
javascript - Chaiの配列のrspec=〜に相当します
チャイですか、マッチャーはrspecsと同等です=~
(つまり、すべての要素がありますが、順序は重要ではありません。
合格例
失敗する
mocha.js - チャイ、モカ:アサーションを特定する必要があります
私はとをアサーションとして使用mocha
しています。chai
私の仕様にはいくつかのアサーションがあります:
それらの1つが失敗した場合、モカは「falseがtrueであると予想されます」と書き込みます。それらを識別する方法はありますか?
expect
私はそれを行うことができます:
このようなことは可能should
ですか?
node.js - Mocha/Chai で CoffeeScript をテストする際の fs.readFile の奇妙な動作
次の CoffeeScript コードがあると考えてください。
Mocha の次のテスト ファイル:
私はテストを実行します:
奇妙なことに、コンソールは何もログに記録しません。Coffee をこれに変更すると (最後に 2 行追加):
テストを実行すると、予想どおり、コンソール ログfs.readFile callback fired
が 2 回記録されます。
では、なぜ最初のケースでコンソールが空だったのでしょうか?
node.js - すべてのテストの前に必要なファイルを取得できません
コーヒースクリプトとチャイを組み合わせてモカをセットアップしようとしています。テストを含むすべてのファイルの前に、次のファイルを含めたいと思います。
test/_helper.coffee
これは、AppDir バリアベルにアクセスできるようにするためです。ファイルを要求するときに、アプリ ディレクトリへの完全なパスを指定する必要がないようにします。
test/app/setup-test.coffee
次の設定を試しました。
次のように _hellper.coffee を mocha コマンドライン オプションに追加しました。
など:
そして、setup-test.coffee で通常の require を試しました:
どのような方法を使用しても、テストを実行すると次のエラーが発生します。
テストの実行方法を知りたい人のために、ここに私の MAKE ファイルを示します。
Makefile
誰かが私を助けてくれませんか、ありがとう。
node.js - Mocha での非同期スローのテスト
接続が切断された場合に Redis に再接続しようとするコード ブロックがあります。接続を再確立できない場合は、エラーがスローされます。エラーをスローするコード ブロックをテストしようとしていますが、mocha と chai を使用して成功するテストを作成できません。
私のテストは次のようになります。
assert().throws を使用してみましたが、非同期スローが発生する前に失敗します。同じ理由で、try/catch ブロックも失敗します。私の推測では、モカが例外をキャプチャして再スローするのは、uncaughtException ブロックがエラーを取得するためですが、モカがテストに失敗する前ではないためです。助言がありますか?
編集:
関数で呼び出しをラップしようとしました:
そして私は次のようになります:
node.js - Chai.jsの例外にスタックトレース情報を含めるにはどうすればよいですか?
NodeでChai.jsを使用しています。console.log(e)
eがChai.jsによってスローされた例外である行は、のようなものを出力しますexpected a to be within 0..3
。Chai.jsの例外にスタックトレース情報を含めるにはどうすればよいですか?
javascript - sinonのコーヒースクリプトコンストラクターをスパイ
コーヒー スクリプト コンストラクターが例外をスローすることを確認しようとしています (sinon と sinon-chai を使用)。
犬のインスタンス化が例外をスローすることを確認するスパイを正しく作成するにはどうすればよいですか?
node.js - 「should.be.false」構文パスjslintを取得するには?
NodeJS コード用に JS UT を作成しています。私はアサーション ライブラリとしてChaiを使用しており、 should構文を好みます。また、jslintを使用して JS ファイルの構文をチェックします。UT の JS ファイルもチェックします。
今、私はjslintとChaiに問題があります。Chaiでは、以下を使用できます。
しかし、jslintは私に与えます:
jslintには多くのオプションがあることは知っていますが、このチェックをオフにする適切なオプションが見つかりません。
google-chrome - ChromeとMochaのグローバルリーク
私は次の非常に単純なモカ/チャイテストを持っています:
これは次の出力でクロームで失敗します:
エラー:グローバルリークが検出されました:css、cssFile、cssRule
FirefoxとSafariの両方で、問題なく合格します。
Google独自のスクリーンキャプチャ拡張機能によって定義された別のグローバル変数がありました。css
その拡張機能を無効にすると、Mochaは、、、cssFile
およびcssRule
グローバルリークについてのみ不平を言いました。
チェックしたところ、これらの変数はSafariまたはFirefoxで定義されていないため、ChromeまたはChrome拡張機能の1つで、これら3つの変数が定義されていることは明らかです。すべての変数を順番に無効にしてから再度有効にする以外に、どの拡張機能がこれらの変数を定義しているかを把握する方法はありますか?