読者です 読者をやめる 読者になる 読者になる

>& STDOUT

主にソフトウェアに関する日々の標準出力+標準エラー出力

QUnitで例外のテストケースを無理やりやる

ソフトウェアテスト


どうも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 );
	}
});
	

それにしても

もうちょっとおしゃれなやり方はないものか。