したいこと
VBAでTDDしたい。
VBAで単体テストを行いたい。
VBAでテスト駆動開発をしたい。
結論
VBA-TDDを使用すれば、かなり便利にVBA-TDDを行えます。結果もエクセルファイルで残せますので、よい感じです。まだ全てを使いこなせていませんが、以下に解説するレベルでも十分かも。
環境
Windows10,Excel2016 にて確認しています。
テストの実行方法(画像なし)
今回はVBAのVBA-TDDを利用して、単体テストを行う手順を書きます。
- GithubのVBA-TDDを”Clone or download”ボタンを押して、ダウンロードしてください。
- .zipを解凍します。
- ここでは、用意されている”VBA-TDD – Blank.xlsm”を使用する方法で、以下書きますが、”src”フォルダの中にある.clsを自分のVBAプロジェクトに追加しても可能です。
- “VBA-TDD – Blank.xlsm”を開いてください。開いてすぐのボタンのある画面はまた後程説明します。
- “開発”タブ⇒”Visual Basic”ボタンをクリック。
- “Specs”(コード)のファイルを開いて、RunSpecsの下にVBA-TDDのQuick ExampleにあるSpces()関数とAdd()関数を追加
- Repoter.Output Specsを追加 (‘ Reporter.Output Suite2 の下の行)
- 実行してください。 (メニュー”実行”⇒”Sub/ユーザフォームの実行” or 実行ボタン)
- イミディエイトウィンドウに実行結果が表示されます。
- 念のため、追加したSpecs()関数内の最初の”.Expect(Add(2,2)).ToEqual 5″等と等式が成り立たないようにして、実行してみて下さい。”+”ではなく、”X”で表示されます。
- これらの実行はシート側からも実行でき、”Spec Runner”シートの”Run Specs”ボタンを押すと、シートに実行結果が表示されます。
テストの実行方法(画像あり)
今回はVBAのVBA-TDDを利用して、単体テストを行う手順を書きます。
- GithubのVBA-TDDを”Clone or download”ボタンを押して、ダウンロードしてください。
- .zipを解凍します。
- ここでは、用意されている”VBA-TDD – Blank.xlsm”を使用する方法で、以下書きますが、”src”フォルダの中にある.clsを自分のVBAプロジェクトに追加しても可能です。
- “VBA-TDD – Blank.xlsm”を開いてください。開いてすぐのボタンのある画面はまた後程説明します。
- “開発”タブ⇒”Visual Basic”ボタンをクリック。
- “Specs”(コード)のファイルを開いて、RunSpecsの下にVBA-TDDのQuick ExampleにあるSpces()関数とAdd()関数を追加
- Repoter.Output Specsを追加 (‘ Reporter.Output Suite2 の下の行)
- 実行してください。 (メニュー”実行”⇒”Sub/ユーザフォームの実行” or 実行ボタン)
- イミディエイトウィンドウに実行結果が表示されます。
- 念のため、追加したSpecs()関数内の最初の”.Expect(Add(2,2)).ToEqual 5″等と等式が成り立たないようにして、実行してみて下さい。”+”ではなく、”X”で表示されます。
- これらの実行はシート側からも実行でき、”Spec Runner”シートの”Run Specs”ボタンを押すと、シートに実行結果が表示されます。