- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否可以在 dunitx 中以这样一种方式使用命名空间,即命名空间下的所有测试装置都包含在一对设置/拆卸例程中?
(类似于 nunit 中的 SetupFixture 属性, http://www.nunit.org/index.php?p=setupFixture&r=2.5.5 )。
我尝试使用以下单元名称/命名空间:
unit Tests.MyFixture;
interface
uses
DUnitX.TestFramework;
type
[TestFixture]
TMyFixtureInitializer = class(TObject)
public
[SetupFixture]
procedure SetupMyFixture;
[TeardownFixture]
procedure TeardownMyFixture;
end;
implementation
{ TMyFixtureInitializer }
procedure TMyFixtureInitializer.SetupMyFixture;
begin
Self.Log('initialize a lot of stuff ...');
end;
procedure TMyFixtureInitializer.TeardownMyFixture;
begin
Self.Log('cleanup a lot of stuff ...');
end;
initialization
TDUnitX.RegisterTestFixture(TMyFixtureInitializer);
end.
unit Tests.MyFixture.MyTestUnit1;
interface
uses
DUnitX.TestFramework;
type
[TestFixture]
TestClass1 = class(TObject)
public
[Test]
procedure Test;
end;
implementation
{ TestClass1 }
procedure TestClass1.Test;
begin
end;
initialization
TDUnitX.RegisterTestFixture(TestClass1);
end.
最佳答案
恕我直言,在没有任何测试的情况下定义 [TestFixture] 是没有意义的......
并且:据我所知,DUnitX 中不支持命名空间。
DUnitX 只是在循环中运行所有装置(和测试)。
如果您只需要在所有测试之前/所有测试之后运行的方法,您可以只执行以下操作(改为):
Tests.MyFixture.pas:
unit Tests.MyFixture;
interface
// uses
//DUnitX.TestFramework;
type
TMyFixtureInitializer = class(TObject)
public
class procedure SetupMyFixture;
class procedure TeardownMyFixture;
end;
implementation
{ TMyFixtureInitializer }
class procedure TMyFixtureInitializer.SetupMyFixture;
begin
//Self.Log('initialize a lot of stuff ...');
end;
class procedure TMyFixtureInitializer.TeardownMyFixture;
begin
//Self.Log('cleanup a lot of stuff ...');
end;
initialization
TMyFixtureInitializer.SetupMyFixture;
finalization
TMyFixtureInitializer.TeardownMyFixture;
end.
关于unit-testing - 我可以为 dunitx 中命名空间中的所有装置创建一个通用的设置例程吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36116830/
我的问题类似于this one ,但我不想传递一个集合,而是传递一个整数数组。 例如: [TestCase('TestAdd','[1,2,3,4];[1,2,3,4]',';')] procedur
我正在使用 DUnitX 框架,并尝试测试该过程是否引发异常。 目前我有以下测试程序: procedure TAlarmDataTest.TestIdThrowsExceptionUnderFlow;
是否可以在 dunitx 中以这样一种方式使用命名空间,即命名空间下的所有测试装置都包含在一对设置/拆卸例程中? (类似于 nunit 中的 SetupFixture 属性, http://www.n
我正在为我的 FastCode 项目编写测试用例。 我写了一个像这样的通用测试器: TTest = record private class var Def: System.Gener
如果我选择“32 位 Windows”,DUnitX 会工作,但是,当我将其更改为“64 位 Windows”时,它会显示 [dcc64 Fatal Error] RPMLibTestsX.dpr(1
我已经安装了 Delphi Seattle,并且使用 DUnitX 作为我的测试框架。我注意到它可能支持堆栈跟踪。但我没有找到有关它的示例或文档。我找到了一个 inc 文件 (DUnitX.Stack
我正在阅读《Coding Delphi》一书,但在使用 Delphi Mocks 时遇到了麻烦。当我使用 DUnitX 的 [Setup] 属性创建模拟时,它看起来好像永远不会被创建。当我在测试本身中
我正在尝试在运行测试后检查对象的状态。该状态包含在一个集合中。是否可以使用 DUnitX 属性将预期状态传递给测试用例,以便我可以对所有不同的输入使用相同的测试? 我尝试将集合作为常量或集合传递,但在
在我看来,如果我只是将其放入测试方法中,Assert.Pass("Some Message") 不会执行任何操作: procedure TRPMTestObject.TestPlatform; beg
如果我有一个带有 string 参数的单元测试,并且我想检查输入字符串是否在某处有 逗号 (,) ,我应该创建一个其中包含逗号的输入字符串。 但是如何将其传递给测试用例呢? [Test] [Te
我有一个基于控制台的 DUNITX 单元测试程序,我正在尝试将其转换为 FMX GUI 输出。阅读了 embarcadero 文档 here ,我通过执行以下操作修改了测试程序文件: 包含 DUnit
我正在使用 spring4d、dunitx 和 delphi-mocks 编写我的第一个单元测试。(spring4d 版本 1.1 - 2014 年 9 月 12 日) 在我的测试应用程序中,我将接口
我是一名优秀的程序员,十分优秀!