dunit で例外をテストするためのベスト プラクティスは何だろうと思っています。私は Delphi のメソッド ポインタにあまり詳しくありません。引数なしで呼び出すことができるように、引数をメソッドポインタにバインドする可能性はありますか? 現時点では、この「バインド」を手動で行う追加のメソッドを常に作成しています。SUT に多くのスロー メソッドがある場合、これは煩わしくなります。
// What i did before i knew abput CheckExcepion
procedure MyTest.MyMethod_BadInput_Throws;
var
res: Boolean;
begin
res := false;
try
sut.MyMethod('this is bad');
except
on e : MyExpectedException do:
res := true;
end;
CheckTrue(res);
end;
// What i do now
procedure MyTest.MyMethodWithBadInput;
begin
sut.MyMethod('this is bad');
end;
procedure MyTest.MyMethod_BadInput_Throws;
begin
CheckException(MyMethodWithBadInput, MyExpectedException);
end;
// this would be nice
procedure MyTest.MyMethod_BadInput_Throws;
begin
CheckException(
BindArguments(sut.MyMethod, 'this is bad'), // <-- how to do this
MyExpectedException);
end;