我怎么运行 测试用例's从IDE?

我创造了一个新的项目,用一个单一的、简单的形式:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
  private
  public
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

end.

现在,我将增加一种情况下测试检查,推动 Button1 做什么,它应该:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
     Button1: TButton;
     procedure Button1Click(Sender: TObject);
  private
  public
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

uses
    TestFramework;

type
  TForm1Tests = class(TTestCase)
  private
        f: TForm1;
  protected
     procedure SetUp; override;
     procedure TearDown; override;
  published
     procedure TestButton1Click;
  end;

procedure TForm1.Button1Click(Sender: TObject);
begin
    //todo
end;

{ TForm1Tests }

procedure TForm1Tests.SetUp;
begin
  inherited;

    f := TForm1.Create(nil);
end;

procedure TForm1Tests.TearDown;
begin
    f.Free;
  inherited;
end;

procedure TForm1Tests.TestButton1Click;
begin
    f.Button1Click(nil);
    Self.CheckEqualsString('Hello, world!', f.Caption);
end;

end.

给我做了什么(测试码在GUI项目),我怎么现在的触发一个运行的测试?如果我推 F9 然后简单的形式出现:

alt text

理想的情况将会有一个按钮,或菜单选择,在IDE说 跑述的测试:

alt text

我生活在一个梦想的世界?一个幻想的土地,生活在一个水果糖的房子上的棒棒糖道?

有帮助吗?

解决方案

我同意乌韦·拉贝,但有时也可以是有用的你的应用程序中的“隐藏”链接,运行DUNIT GUI。我使用:

TGUITestRunner.runRegisteredTests;

从在DUNIT GUI按钮调用此将打开你手动运行并查看测试输出。


例如,如果按住一个特殊的键组合时,打开软件自身的“控制面板” 的,你会得到一些先进的条目:

“在这里输入的图像描述”

其他提示

添加一个TestCase的主要项目是不是要走的路。您应该创建一个单独的TestProject(你可以把它在同一ProjectGroup为主要项目),增加一个TestCase和运行。

我喜欢这个想法具有一个 'Run DUnit tests' 命令在IDE。

它可以通过检查述项目在同一个文件夹中,具有相同的名称,目前的项目:

  • 项目1.dpr ->的软件下测试
  • 项目1.测试。dpr =>所述的测试应用程序

在这种情况下,IDE应使述行试验指令。

  • 在执行测试,一个列表中的所有失败测试应该显示,它允许跳源行一个试验 失败的.

  • 如果试验造成的存储器的泄漏,清单的所有泄漏应该显示,它允许以跳的来源线在哪里 存储器泄漏已经被创造了

(述配置可探测的存储器泄漏和失败测试当个已经被发现)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top