コンテンツにスキップ

Excel VBA Debug.Aseertでテストメソッドを実装する

  • Debug.AseertでVBAの関数にテストを書けるようにする

Usage

Debug.Assertは、Falseのときだけ処理が中断される

  • Sumは足し算をするプログラム
  • Main関数で呼び出して使用している
Option Explicit

' プログラムのエンドポイント
Public Sub Main()
    Dim n As Long
    n = Sum(2, 3)
    Debug.Print n
End Sub

' テスト対象のプログラム
Public Function Sum(augend As Long, addend As Long) As Long
    Sum = augend + addend
End Function
  • TestSumでは、Sum関数に引数を渡して、結果と比較している
  • テストが失敗した場合のみ、テストメソッドが中断される
' テストメソッド
Sub TestSum()
    ' Arrange
    Dim expected As Long
    expected = 5

    ' Act
    Dim actual As Long
    actual = Sum(2, 3)

    ' Assert
    Debug.Assert actual = expected

    Debug.Print ("Tests Successful")
End Sub

Reference