2016-06-16 7 views
0

Jasmineフレームワークを使用して作成したJavaScript自動テストを実行する場合、JUnitの動作と同様に、エラーと失敗を区別する方法はありますか?エラーとJavaScript Jasmineフレームワークの失敗

私が最初に私は2つの実際の数値と関数が失敗しますので、その後、私は、文字列を送信しています送信しています、2つの数値を受け取り、乗算機能を持っている:私は、テストを実行すると

it('properly multiply two numbers', function() { 
    result = Multiply(10, 5); 
    expect(result).toEqual(50); 
}); 

it('throw an error if a parameter is not a number', function() { 
    result = Multiply(10, 'aaa'); // should this line generate an error or a failure? 
    expect(result).toEqual(50); 
}); 

を、Jasmineはそれをエラーとして報告します。代わりにエラーではないでしょうか?

enter image description here

答えて

2

エラーが予期されないので、失敗します。 次のことを試してみてください。私はそのラインを使用する場合

expect(function() { Multiply(10, 'aaa'); }).toThrow("Error: not a number.");

+0

私はこのメッセージが表示されます:「パラメータが数値でない場合、関数はエラーをスロー」。たとえそれがエラーであっても、エラーとして報告されるため、JUnitのようにエラーとエラーの間に概念の分割がないようです。少なくとも、どのように報告されるのでしょうか? – CJ1

+0

文の後にピリオドを追加する必要がありますが、エラーのピリオドに気付かなかった。あなたの他の質問について予期しないエラーがスローされたり、 'expect'が失敗した場合にもエラーが発生します。したがって、JUnitとは少し異なります。しかし、ロギングを見ると、なぜ失敗するのかをすぐに知ることができます。 – Jelle

関連する問題