テストスイートとテスト名のリストを取得し、一致する名前のすべてのテストを無効にし、ネストされたテストスイートを再帰的に実行するプロシージャを作成しました。
procedure DisableTests(const ATest: ITest; const AExclude: TStrings);
var
I: Integer;
begin
if AExclude.IndexOf(ATest.Name) <> -1 then
begin
ATest.Enabled := False;
end;
for I := 0 to ATest.Tests.Count - 1 do
begin
DisableTests(ATest.Tests[I] as ITest, AExclude);
end
end;
使用例(TStringListの「除く」が、セットアップの方法で作成されます):
procedure TSuiteVersion1beta2.SetUp;
begin
// fill test suite
inherited;
// exclude some tests because they will fail anyway
Excludes.Add('TestA');
Excludes.Add('TestB');
DisableTests(Self, Excludes);
end;
出典
2010-11-25 16:32:18
mjn
1 THX、これは私たち自身のスイートのためのいくつかの新しいアイデアを提供します。 –
btw、私はあなたのテストを登録する方法と、テストケース内の特定のテストスイートごとにコンポーネントへの参照を取得する方法を見てみたいと思います。 –
多分OpenCTF(Delphi用のオープンコンポーネントテストフレームワーク)はいくつかのアイデアを提供し、すべての単一コンポーネントのユニットテストのスイートを生成し、そのプロパティを検証します - http://sourceforge.net/projects/openctf/ – mjn