私はテストを書こうとしていますJasmine テスト フレームワークこれはエラーを予想します。現時点では、GitHub からの Jasmine Node.js 統合。
私の Node.js モジュールには次のコードがあります。
throw new Error("Parsing is not possible");
ここで、このエラーが発生することを想定したテストを記述してみます。
describe('my suite...', function() {
[..]
it('should not parse foo', function() {
[..]
expect(parser.parse(raw)).toThrow(new Error("Parsing is not possible"));
});
});
他のバリエーションもいくつか試してみましたError()
が、どうすれば動作するのかわかりません。
ベストアンサー1
代わりに匿名関数を使用してみてください:
expect( function(){ parser.parse(raw); } ).toThrow(new Error("Parsing is not possible"));
またはラムダを使用します:
expect( () => parser.parse(raw) ).toThrow(new Error("Parsing is not possible"));
呼び出しに関数を渡す必要がありますexpect(...)
。間違ったコード:
// incorrect:
expect(parser.parse(raw)).toThrow(new Error("Parsing is not possible"));
実際に を呼び出し parser.parse(raw)
て、結果を に渡そうとしていますexpect(...)
。