どうもQUnitでは「例外を投げる事」自体を期待動作とするテストに対応するメソッドが無い、、というか例外発生するとテストの駆動自体がDieするようなので、下記のように無理やりやってみました。でも、こちらでも同様の要望が上がっているようなので、いつか本家が対応してくれることを祈ります。
function expectReturnTrueMethod(){ return true } function expectThrowExceptionMethod(){ throw "It's me, some exception" } //普通のテスト。でも例外起きてもテストが続く。 test("Normal Test", function(){ try{ same( true, expectReturnTrueMethod(), "SampleTest" ); }catch(e){ ok( false, "occurred exception : " + e ); } }); //例外が起きる事自体を期待するテスト。 test("Illegal Test", function(){ try{ same( false, expectThrowExceptionMethod(), "SampleTest" ); }catch(e){ ok( true, "expected exception : " + e ); } });
それにしても
もうちょっとおしゃれなやり方はないものか。