vložil Radek Červinka
23. února 2015 21:52
Od doby co jsem napsal článek o Delphi unit testování již nějaký čas uplynul. Původní DUnit byl napsáno v době cca Delphi 6 a to odpovídá té době. Proto jsem ocenil, když jsem nalezl DUnitX, který pěkně využívá možností novějších Delphi pro usnadnění práce.
Samozřejmě můžete použít i staré unit testy, ale síla vynikne s použitím atributů viz metoda Test2. Ta bude volána poprvé s parametry 1,2 a podruhé s parametry 3,4. Tímto se ušetří podle mne dost práce.
[TestFixture]
TMyTestObject = class(TObject)
public
[Setup]
procedure Setup;
[TearDown]
procedure TearDown;
// Simple single Test
[Test]
procedure Test1;
// Test with TestCase Atribute to supply parameters.
[Test]
[TestCase('TestA','1,2')]
[TestCase('TestB','3,4')]
procedure Test2(const AValue1 : Integer;const AValue2 : Integer);
end;
procedure TMyTestObject.Test2(const AValue1, AValue2: Integer);
var
i: Integer;
begin
i := AValue1 + AValue2;
if AValue1 = 3 then
Assert.Fail('Chyba');
end;
initialization
TDUnitX.RegisterTestFixture(TMyTestObject);
end.
V základě jsou dostupné jen konzolové testy:

ale v nedávné době jeden dobrovolník (no jeden - Stefan Glienke to byl, autor Spring4D, nejlepší knihovny ohledně generik) napsal TestInsight plugin, který to pěkně integruje do Delphi (dá se použít i pro původní DUnit).
