テストの効率化をねらって、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件)