はじめに
仕事でexcelのVBAを使うことがよくあるけど、テストフレームワークがテスト用のファイルをたくさん読みこまないといけないのが嫌で、自分で作ってみました。
ケントベックのテスト駆動開発入門は、テストフレームワークを作る章があるため、まねしてやってみました。
githubに公開しています。
基本方針
ファイルをたくさん読みこむのが嫌だったので、基本方針としてテストフレームワーク用に読み込むファイルは1ファイルになるようにしました。
簡単な使い方
- githubのVBAUnittest.basをVBAのエディタにインポート
- 「開発」タブの「マクロのセキュリティ」から「VBAプロジェクトオブジェクトモデルへのアクセスを信頼する」にチェックを付ける(下記画像参照)
- テストケースを以下のような形で作成(テストモジュール名は、Testから開始。テストプロシージャ名は、testから開始)
Sub testMethod()
assert(1+2, 3)
assertTrue(isTrue)
End Sub
- allTestRunを実行
詳細な使い方は、githubのREADMEを読んでください。
さいごに
まだフレームワークを作っただけなので、バグがあれば教えて下さい。
今度excelのVBAで何か作る時は使う予定です。
ケントベックのテスト駆動開発入門にあるように、テストファーストテストファースト。テストフレームワークを作る時にこのフレームワークを使ってテストしていたので、それなりには動くと思います。
感想を書いているブログ記事もよろしくお願いします。
Qiitaで記事を投稿しました。excel VBAで使えるテストフレームワークを作ってみた。
実際に使ってみてテストフレームワークを改善して、githubにv1.0.2をリリースしました。
実際に使ってみての感想は以下のブログ記事です。
[Excel VBAで使える自作のテストフレームワークを使って、実際に開発してみた。]
(http://takus4649.hatenablog.com/entry/2017/07/08/224827)
更新履歴
2017/07/08 v1.0.2のリリースの話を追記
2016/11/16 セキュリティの設定を追記
2016/11/16 新規投稿