首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DUnit测试层次结构

DUnit测试层次结构
EN

Stack Overflow用户
提问于 2012-01-16 18:23:54
回答 3查看 1.1K关注 0票数 13

目前,我在DUnit (测试项目->测试用例->测试方法;请参见下面的示例)中使用两级测试层次结构。有没有可能引入3级甚至更多的级别?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-16 18:44:23

您可以使用测试套件创建所需的任意多个级别的嵌套。documentation提供了以下示例:

TestFramework单元公开TTestSuite类,该类实现测试套件,因此您可以使用更显式的代码创建测试层次结构:

下面的函数UnitTests创建一个测试套件,并向其中添加两个测试类:

function UnitTests: ITestSuite;var ATestSuite: TTestSuite;begin ATestSuite := TTestSuite.create('Some tests');ATestSuite.addTest(TTestArithmetic.Suite);ATestSuite.addTest(TTestStringlist.Suite);Result := ATestSuite;end;

实现上述功能的另一种方法是:

function UnitTests: ITestSuite;begin Result := TTestSuite.Create(‘一些琐碎的测试’,TTestArithmetic.Suite,TTestStringlist.Suite );end;

在上面的示例中,TTestSuite构造函数将传递的数组中的测试添加到套件中。

您可以使用与注册单个测试用例相同的调用来注册以上述任何一种方式创建的测试套件:

initialization RegisterTest(‘简单测试’,UnitTests);结束。

当使用GUITestRunner运行时,您将看到新的层次结构。

票数 9
EN

Stack Overflow用户

发布于 2012-01-17 10:18:45

我通过在‘`SuitePath’中放置反斜杠来构建一个层次结构。例如:

代码语言:javascript
复制
initialization

  RegisterTests('Group1\Group2', [TExampleTests1.Suite,
                                  TExampleTests2.Suite]);

  RegisterTests('Group1\Group3', [TExampleTests3.Suite,
                                  TExampleTests4.Suite]);
end.

最后我得到了类似这样的东西:

与David的方式相比,这要少得多,而且您可以将您的组定义分散到不同的单元中。

票数 11
EN

Stack Overflow用户

发布于 2012-01-16 18:44:43

您可以在测试套件中对相关测试进行分组,测试套件可以是嵌套的。

如果您想在运行时这样做,可以在sourceforge上查看我的“开放组件测试框架(OpenCTF)”。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8878641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档