assert
モジュールを使用して、条件エラーが発生しました。私はdocumentationに基づいていると思われます。assert.fail(message)
は、message
プロパティが渡されたメッセージだけの例外をスローするはずです。しかし、それは一重引用符で囲まれ、その後にundefined undefined
というメッセージが設定されています。assert.failからの予期しない結果
assert
のバグですか?(1.4.1)を使用していますが、これはドキュメントのバグですか、間違っていますか?
マイコード:
$ cat assert-test.js
assert = require ("assert")
try {
assert.fail("boom")
}
catch (ex) {
console.log(ex)
}
$ node assert-test.js
{ [AssertionError: 'boom' undefined undefined]
name: 'AssertionError',
actual: 'boom',
expected: undefined,
operator: undefined,
message: '\'boom\' undefined undefined',
generatedMessage: true }
これは私に関連すると思われる文書の一部です。メッセージが提供されている場合
のみ、それはエラーメッセージとして使用され、他の引数は、これはまた、関連すると思われるスローオブジェクト
のプロパティとして保存されます。
注:最後の2つのケースは、実際の、予想される、および演算子には、エラーメッセージに影響しません。
assert.fail(); // AssertionError [ERR_ASSERTION]: Failed assert.fail('boom'); // AssertionError [ERR_ASSERTION]: boom assert.fail('a', 'b'); // AssertionError [ERR_ASSERTION]: 'a' != 'b'
私はノードを使いました。私は私が使っていたものを誤解していましたが、あなたが正しくこれをブラウザ(エレクトーン、実際に)とバックエンドで使いたいと思います。私もソースコードを掘り下げていて、標準の 'assert'にするために私が使っていたものを期待して回ってきました。しかし、 'require( 'assert')'は何もインストールせずに動作するはずです。 私は自分のプロジェクトの一部を孤立して処理する技術スタックを学んでおり、現在はユニットテストを書いています。なぜ私の 'assert.fail'例外メッセージが常に間違っていたのか分かりませんでした。 あなたの答えをありがとう! –