- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在阅读《Coding Delphi》一书,但在使用 Delphi Mocks 时遇到了麻烦。当我使用 DUnitX 的 [Setup] 属性创建模拟时,它看起来好像永远不会被创建。当我在测试本身中创建模拟时,它可以正常工作。我认为设置和拆卸的目的是让您不必为每个测试构建相同的项目。
下面是单元测试的代码
unit uDollarToGalleonsConverterTest;
interface
uses
uDollarToGalleonsConverter,
Spring.Services.Logging,
Delphi.Mocks,
DUnitX.TestFramework;
type
[TestFixture]
TDollarToGalleonConverterTest = class
private
Expected, Actual: Double;
Converter: TDollarsToGalleonsConverter;
Logger: ILogger;
[Setup]
procedure Setup;
[TearDown]
procedure TearDown;
public
[Test]
procedure TestPointFiveCutsDollarsInHalf;
end;
implementation
{ TDollarToGalleonConverterTest }
procedure TDollarToGalleonConverterTest.Setup;
begin
Logger := TMock<ILogger>.Create;
Converter := TDollarsToGalleonsConverter.Create(Logger);
end;
procedure TDollarToGalleonConverterTest.TearDown;
begin
Converter.Free;
end;
procedure TDollarToGalleonConverterTest.TestPointFiveCutsDollarsInHalf;
begin
Expected := 1.0;
Actual := Converter.ConvertDollarsToGalleons(2, 0.5);
Assert.AreEqual(Expected, Actual,
'Converter failed to convert 2 dollars to 1 galleon');
end;
initialization
TDUnitX.RegisterTestFixture(TDollarToGalleonConverterTest);
end.
最佳答案
默认情况下,为公共(public)和已发布的方法生成方法的 rtti。如果您有任何私有(private)或 protected 方法,即使它们具有属性,框架也不会找到它们。
所以你的安装方法永远不会被调用。
关于使用 DUnitX 设置和拆卸的 Delphi 模拟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22637313/
我的问题类似于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 日) 在我的测试应用程序中,我将接口
我是一名优秀的程序员,十分优秀!