自動テストツール NUnit 2/3
実際ã«å‹•作ã™ã‚‹ãƒ—ãƒã‚°ãƒ©ãƒ (プãƒã‚¸ã‚§ã‚¯ãƒˆï¼šNUnit)。
æ§‹æˆã¯è‡ªå‹•テストツール①NUnit 1/3å‚ç…§
Public Class frmNUnit
  Private _value1 As Integer
  Private _value2 As Integer
  Private _answer As Integer
  Public Property value1 As Integer
    Get
      Return _value1
    End Get
    Set(value As Integer)
      _value1 = value
    End Set
  End Property
  Public Property value2 As Integer
    Get
      Return _value1
    End Get
    Set(value As Integer)
      _value2 = value
    End Set
  End Property
  Public Property answer As Integer
    Get
      Return _answer
    End Get
    Set(value As Integer)
      _answer = value
    End Set
  End Property
  Public Sub Kake()
    _answer = _value1 * _value1
  End Sub
End Class
テスト用プãƒã‚°ãƒ©ãƒ (プãƒã‚¸ã‚§ã‚¯ãƒˆï¼šTestOnly)
Imports NUnit.Framework
ツール「NUnitã€ã¯â†“TestFixture属性をæŒã¤ã‚¯ãƒ©ã‚¹ã‚’実行ã™ã‚‹ä»•組ã¿
<TestFixture()> _
Public Class ClassTestOnly
  ’テストå˜ä½ã«Test属性をè¨ã‘ã‚‹
  ’①1ã¤ã®å€¤ã§ã®ã¿ãƒ†ã‚¹ãƒˆ
  <Test()> _
  Public Sub Test1()
    ’NUnitã‚’å‹•ã‹ã™ã€‚
    ’NUnit.frmNUnitクラスをインスタンス化&値を渡ã—ã€æŽ›ã‘算メソッドを実行。
    Dim target As New NUnit.frmNUnit()
    target.value1 = 10
    target.value2 = 20
    Call target.Kake()
    期待ã¨å®Ÿéš›ã®å€¤ã‚’比較ã™ã‚‹é–¢æ•°ã€‚
    Assert.AreEqual(expected:=200, _    ’期待値
              actual:=target.answer, _    ’実際ã®å€¤
              message:=”失敗”)    ’期待値≠実際ã®å€¤ã®å ´åˆã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸
  End Sub
  
  
  
  ’②以下ã€ç•°ãªã‚‹å€¤ã§é€£ç¶šãƒ†ã‚¹ãƒˆã€‚
  ’TestCase属性をæŒãŸã›ã‚‹ã¨ãれãžã‚Œã®å¼•æ•°ãŒTest2ã«æ¸¡ã•れã¦ãƒ†ã‚¹ãƒˆã•れる。
  <Test()> _
  <TestCase(1, 1, 1)> _
  <TestCase(2, 2, 4)> _
  <TestCase(3, 3, 9)> _
  <TestCase(4, 4, 16)> _
  <TestCase(5, 5, 25)> _
  <TestCase(6, 6, 36)> _
  <TestCase(7, 7, 59)> _  ’â†7×7=59ã®æ™‚テストæˆåŠŸâ€¦ã¨å®šç¾©ã—ã¦ã„る。
  <TestCase(8, 8, 64)> _
  <TestCase(9, 9, 81)> _
  Public Sub Test2(ByVal prm1 As Integer, _
             ByVal prm2 As Integer, _
             ByVal prmExpected As Integer)
    Dim target As New NUnit.frmNUnit()
    target.value1 = prm1
    target.value2 = prm1
    Call target.Kake()
    ’ target.answer ï¼ prmExpected ã®æ™‚テストæˆåŠŸ
    Assert.AreEqual(expected:=prmExpected, _
              actual:=target.answer, _
              message:=”掛算失敗”)
  End Sub
End Class
Test2ã®ãƒ†ã‚¹ãƒˆçµæžœã€‚7×7=59ã®ãƒ†ã‚¹ãƒˆã ã‘失敗ã—ã¦ã„る。