Я использую 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;
У меня может быть еще больше тестов, которые делают одно и то же, но с разными исходными данными и ожиданиями. Я не хочу объединять их в один тест, потому что я бы хотел, чтобы они могли сдать или не сдать экзамен независимо.