fptestの使い方
久しぶりにPascalが触りたくなったのでFreePascalでアプリを書こうかと。
といっても昔作ったやつをまた作り直してるってだけなんですが……
Delphi向けのユニットテストライブラリとしてDUnitなんてのがありましたが、
更新も止まっているみたいで、DUnit2も進捗がないようです。(多分)
今回はFreePascalを使うのですが、DUniteは以前使った記憶ではFreePascalで使えなかったのですよね。
他にないのか探してみたらgithubにfptestというDUnit2からフォークしたものがあるではないですか。
そういうわけで今回はこれを使うことにしたのでした。
GitHub - graemeg/fptest: Testing framework for the Object Pascal language using the Free Pascal compiler.
テストユニット
unit Aaa; interfaces uses TestFramework; type TTestCaseAaa = class(TTestCase) published procedure TestOne; end; procedure RegisterTests; implementation procedure TTestCaseAaa.TestOne; begin Check(1 + 1 = 2, 'TTestCaseAaa#TestOne'); end; procedure RegisterTests; begin TestFramework.RegisterTest(TTestCaseAaa.Suite); end; end.
テストユニットはこんな感じ。
TTestCaseを継承してpublishedでテストメソッドを書いてあげればOKです。
テストの登録・実行
program test; uses Aaa, TextTestRunner; begin Aaa.RegisterTests; RunRegisteredTests; end.
呼ぶ方はこれだけです。