テストの効率化をねらって、DUnit を試してみたので、DUnit テストプロジェクト作成の手順をまとめてみた。
TestFramework, GUITestRunner
Application.Initialize; Application.CreateForm(TForm2, Form2); Application.Run;
GUITestRunner.runRegisteredTests;
program UnitTest;
uses
Forms,
TestFramework,
GUITestRunner,
UUnitTest1 in 'UUnitTest1.pas';
{$R *.res}
begin
GUITestRunner.runRegisteredTests
// Application.Initialize;
// Application.CreateForm(TForm1, Form1);
// Application.Run;
end.
unit UUnitTest1;
interface
uses
TestFramework, GUITestRunner;
type
TTestUnit1= class(TTestcase)
protected
procedure SetUp; override;
procedure TearDown; override;
published
procedure Case_TestOK1; virtual;
procedure Case_TestOK2;
procedure Case_TestNG1; virtual;
end;
implementation
procedure TTestUnit1.SetUp;
begin
end;
procedure TTestUnit1.TearDown;
begin
end;
procedure TTestUnit1.Case_TestNG1;
begin
check(false, 'TTestUnit1error');
end;
procedure TTestUnit1.Case_TestOK1;
begin
check(true, '');
end;
procedure TTestUnit1.Case_TestOK2;
begin
check(true, '');
end;
initialization
TestFramework.RegisterTest('', TTestUnit1.Suite);
end.
上記は最も基本的な例なので、実際にはテストする内容に合わせて、テストクラス&メソッドを作成する。
テストメソッドは、published スコープにすること。
テストクラスのデフォルトメソッド:
| メソッド名 | メソッド説明 |
|---|---|
| SetUp | テストの準備作業を行う |
| TearDown | テストの後始末を行う |
Checkメソッドの説明:
| 順序 | メソッド説明 |
|---|---|
| 1 | テスト結果:true = テストOK、false = テストNG |
| 2 | エラー時のメッセージ |
コメント (0件)