vbUnit3 Basic + vbUnitFree でタダ(無料)でVB6ベースプロジェクトの自動単体テスト環境を構築してみる
VB6向けのテスティングフレームワークとしてvbUnit3というものがある。
ただ、コアのフレームワーク部分は無償だが*1、
IDEと協調してテストの実行等を行うためプラグインは"Professional版"として有償となっている。
残念。
と思ったら、
その有償の機能を独自に実装してvbUnitFreeというオープンソースとして公開してくれている人がいた。
そこで、vbUnit3(無償版) + vbUnitFree で単体テスト環境を構築してみた。
vbUnit3の導入
まず、単体テストフレームワークである vbUnit3 を導入する。
http://www.vbunit.com/Download.htm
上記サイトからダウンロード
If you don't need the VB6 AddIn that provides the IDE integration of the TestRunner and test results, you can download vbUnit3 Basic (which contains only the vbUnit3 testing framework)
Download
here.
を適当なディレクトリに展開
展開すると以下のようなディレクトリが現れる
- vbUnit3
- bin
- Templates
- TestVBUnitFramework
- Tutorial
- UnsupportedTools
- vbUnit3TestRunner
- vbUnitFramework
vbUnit3直下のregister.batを実行してレジストリ登録
Templateのコピー
vbUnit3\Templates\*.cls を [VB6]\Template\Classes にコピー
そして、
vbUnit3\Templates\*.cls 及び *.vbp を [VB6]\Template\Classes にコピー
これで、[ファイル]-[新しいプロジェクト] のテンプレートの中に "vbUnit TestDll"が追加される。
以上で、vbUnit3の準備は完了。
vbUnitFreeの入手
つぎに ユーザーインターフェースとなるvbUnitFreeを導入する
基本的に以下のページの手順に従えばオーケー
とりあえず、やったことを書いておくと...
SourceForgeからバイナリをダウンロード
http://sourceforge.net/projects/vbunitfree/
適当なところに展開して、"register.bat"を実行*3
register.batが成功すると、PATH環境変数にRunVBUnit.exeのパスを登録しろって表示されるので登録しておく。
で、VBのIDEを開いて、[アドイン]-[アドインマネージャ...]を開いて、
"vbUnitFree Add-In"を選択して、ロード方法の"ロード/アンロード", "起動時にロード"にチェックをつけて[OK]をクリック。
すると、"VBUnit Test Famework"という画面が開くと思う。
この画面でテストの実行、テスト結果の参照とかが行えるらしい。
これで準備完了。
試してみる
vbUnit3のTutorialにサンプルとなるプロジェクトが入ってるので、ためしにテストを実行してみる。
まず、vbUnit3\Tutorial\Step1\vbUnitTutorial.vbp を開いて [ファイル]-[Tutorial.dllのビルド]を選択、
無事にビルドできたら、
"VBUnit Test Famework"画面の一番左端のアイコンをクリック。
するとTestSuiteを読み込んでプルダウンにテストスィートとして"vbUnitTutorial.vbUnitTutorialSuite"が読み込まれる。
で、"Run in IDE"のチェックをつけて、三角のボタンをクリックするとテストが実行される。
以下のようにテスト結果が"Failure"になったらとりあえずテストが「ちゃんと」失敗したことになる。
時間があったら、vbUnit3のチュートリアルについても解説したいと思う。