gpt4 book ai didi

delphi - 如何以编程方式按名称禁用 DUnit 测试?

转载 作者:行者123 更新时间:2023-12-03 15:49:04 25 4
gpt4 key购买 nike

对于集成测试,我创建了一个 DUnit 测试套件,该套件为第三方组件(消息代理)的每个版本运行一次。不幸的是,由于被测试组件的某些版本中存在已知错误,某些测试总是失败。

这意味着测试套件永远不会 100% 完成。然而,对于自动化测试,需要 100% 的成功分数。 DUnit 不提供现成的方法来按名称禁用测试套件中的测试。

最佳答案

我编写了一个过程,它采用一个测试套件和一个测试名称列表,禁用具有匹配名称的所有测试,并且还执行嵌套测试套件的递归。

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‘Excludes’是在Setup方法中创建的):

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;

关于delphi - 如何以编程方式按名称禁用 DUnit 测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4279127/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com