我想知道在 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;