Могу ли я писать «параметризованные» тесты в DUnit

Я использую 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;

Я мог бы иметь еще больше тестов, которые делают одно и то же, но с разными исходными данными и ожиданиями. Я не хочу объединять их в один тест, потому что я бы хотел, чтобы они могли сдать или не сдать экзамен независимо.

22
задан Mathias Falkenberg 25 January 2012 в 11:58
поделиться