DelphiでDUnitXを使用していますが、行き詰まりました。テストのリストを動的に作成するにはどうすればよいですか?
たとえば、SQLのリストがあり、それらすべてを次のようにテストする必要があります
for i:= 0 to List.Count do
begin
AddTest(List[i].SQL, List[i].Info, List[i].MaxTime);
end;
1つの方法の場合、これは簡単です
[Test]
procedure TestSingleSQL;
実装
procedure TestSingleSQL;
Var tick: Cardinal;
begin
tic:= GetTickCount;
Connection.Execute(SQL);
Assert.IsTrue(Abs(GetTickCount-Tick)<MaxTime);
end
しかし、テストのリストが必要な場合、属性は不十分です。 RepeatTest属性も不適切です。1 つのテストが内部で失敗した場合、テスト全体が停止しますが、すべての SQL を実行する必要があるためです。
何かアドバイス
編集1
DUnit(Xなし)では、これは次のように可能でした
function CreateDBTests: ITestSuite;
Var i: Integer;
baza: String;
TS_Connected, TS_SumyZlecFakt, TS_WPLATY, TS_KONTRAHENT: ITestSuite;
begin
Result:= TTestSuite.Create('Lista baz');
TS_Connected:= TTestSuite.Create('Połączenia');
TS_SumyZlecFakt:= TTestSuite.Create('SyumyZlecFakt');
TS_WPLATY:= TTestSuite.Create('Wpłaty');
TS_KONTRAHENT:= TTestSuite.Create('Kontrahent');
for i:= 0 to ListaBaz.Count-1 do
begin
baza:= ListaBaz[i];
TS_Connected.AddTest(TTestConnected.CreateDBListTest(baza));
TS_SumyZlecFakt.AddTest(TestSumyZlecFakt.CreateDBListTest(baza));
TS_WPLATY.AddTest(TestWplaty.CreateDBListTest(baza));
TS_KONTRAHENT.AddTest(TestKontrahent.CreateDBListTest(baza));
end;
Result.AddSuite(TS_Connected);
Result.AddSuite(TS_SumyZlecFakt);
Result.AddSuite(TS_WPLATY);
Result.AddSuite(TS_KONTRAHENT);
end;
DUnitXで同等のものは何ですか?