Я использую DUnit для тестирования библиотеки Delphi. Я иногда сталкиваюсь с случаями, когда я пишу несколько очень похожих тестов, чтобы проверять несколько входов на функцию.
Есть ли способ написать (что-то похожее) параметризованный тест в DUnit? Например, указав входной и ожидаемый выходные данные на подходящую тестовую процедуру, затем запустив тестовый набор и получив обратную связь о том, какой из нескольких прогонов теста не удался?
(Изменить: пример)
Например, предположим, что у меня было два теста:
procedure TestMyCode_WithInput2_Returns4();
var
Sut: TMyClass;
Result: Integer;
begin
// Arrange:
Sut := TMyClass.Create;
// Act:
Result := sut.DoStuff(2);
// Assert
CheckEquals(4, Result);
end;
procedure TestMyCode_WithInput3_Returns9();
var
Sut: TMyClass;
Result: Integer;
begin
// Arrange:
Sut := TMyClass.Create;
// Act:
Result := sut.DoStuff(3);
// Assert
CheckEquals(9, Result);
end;
У меня может быть даже больше этих тестов, которые будут делать то же самое, но с разными затратами и ожиданиями. Я не хочу объединять их в один тест, потому что я хотел бы, чтобы они могли самостоятельно проходить или отказываться.