[VBUnit Top] [Home]

[ホーム] [クイックリファレンス] [チュートリアルPart 1] [Part 2]

VBUnitチュートリアル

Part 1: テストフレームワークのセットアップ

このチュートリアルを通して、フレームワークを使用する方法をすばやく紹介します。 わかり易くするため、比較や検索といった操作を行うStringのクラスを開発しているとしましょう。 VBは既にString型をサポートしていますが、シンプルなユニットテストの例のために、 そのクラスをそのまま使用します。

まず最初に行うことは、空のテスティングフレームワーク(私たちはテストを最初に書いています)をセットアップすることです。 テストプロジェクトがActiveX DLLあるいはActiveX EXEであることに注意してください。 このフレームワークは標準EXEのプロジェクトでは動作しません。 これはテストメソッドの自動抽出がPublicなオブジェクトでしか動作せず、標準EXEプロジェクトがそれらを公開できないことを意味しています。

従って:

  1. ActiveX DLLの新しいプロジェクトを作成し、それをVBUnitTutorialと命名します。
  2. 「VBUnit - Unit Test Framework」への参照設定を追加します。 
  3. TestString」という名前の新しいクラスを追加します これは私たちが開発するStringクラスをテストするために使用されます。 Instancingプロパティを「5 - MultiUse」に設定します。 このクラスに以下のコードを貼り付けてください。 (これがフィクスチャの基本的なスケルトンです。 この時点では、アサーションを受け取るAssertオブジェクトを1つだけ持っています。 また、フィクスチャのスケルトンはフレームワークが正確にセットアップされることを証明するために Falseのアサーションを投げるテストメソッド[Sub TestFail]を持っています。 後から多数のテストを加えることになります。)

    VBUnitTutorial:  TestString.cls
     
    Option Explicit

    Implements IFixture

    Private m_Assert As IAssert

    Private Sub IFixture_Setup(Assert As VBUnit.IAssert)
        Set m_Assert = Assert
    End Sub

    Private Sub IFixture_TearDown()
    End Sub

    Public Sub TestFail()
        m_Assert.Assert False, "hello - it works!"
    End Sub

  4. 次にフィクスチャを格納し実行するためのスイートが必要となります。 「VBUnitTutorialTestSuite」と呼ばれる新しいクラスを作成し 再度Instancingプロパティを「5 - MultiUse」に設定してください。 そして、このクラスに以下のコードを貼り付けてください。:

    VBUnitTutorial:  VBUnitTutorialTestSuite.cls
     
    Option Explicit

    Implements ISuite

    Private Function ISuite_Suite() As VBUnit.ITest
    Dim oSuite As New TestSuite
        oSuite.SuiteName = "VBUnit Tutorial Test Suite"

        '
    ここでFixtureを追加します。
        oSuite.AddFixture New TestString

        Set ISuite_Suite = oSuite
    End Function

  5. VBUnitTutorial.dll」としてプロジェクトをコンパイルします。 おめでとう。既にユニットテストの初期スケルトンは動作するようになっています。 後はそれを動作確認するだけです。
  6. 標準EXEの新しいプロジェクトを作成し「RunVBUnitTutorial」と命名します。 VBが作成するデフォルトのフォームを削除し「modMain」と呼ばれる単一のモジュールを追加します。
  7. VBUnit - Unit Test Framework」と「VBUnit - Test Runner GUI」を参照設定に追加します。
  8. 以下のコードをモジュールに貼り付けます: 

    RunVBUnitTutorial:  modMain.cls
     
    Option Explicit

    Public Sub Main()
    Dim oTestRunner As New TestRunner
    Dim oClient As ISuite

        '
    テストランナーを使うために設定する行です。
        Set oClient = CreateObject("VBUnitTutorial.VBUnitTutorialTestSuite")

        oTestRunner.AddSuite oClient
        oTestRunner.Run True, True
    End Sub

  9. RunVBUnitTutorial.exe」としてプロジェクトをコンパイルします。
  10. さあ試してみる準備ができました。 プログラムを実行してください。 あなたは下の画面を見ているはずです。 (正しく動作しない場合は、ステップ1―9をチェックして、 全作業が正確に終了していることを確認してください。 特に、クラスのInstancingプロパティが「Multiuse」にセットされているか。正しく名前がつけられているか。 適切にコンパイルされているか。をチェックしてください。 またvbunit.dllとtestrunner.dllが登録されていることも確かめてください。)
  11. テストランナーのウインドウを見れば、スイートが実行され、 フィクスチャ「TestString」のテストメソッド「TestFail」が アサーションを発生させていることが理解できます。 上記の画面が表示されたら、本当のテストの準備ができているといえるでしょう。 テストランナーのウィンドウを閉じるためにスペースキーを押してください。 (または、あなたの望む他の方法を使用してください) 引き続きPart 2を読むことができます。

[ホーム] [クイックリファレンス] [チュートリアルPart 1] [Part 2]


Copyright Bodo Maass, all rights reserved
Japanese translation by Atsuo Aoki(2001/4/18)

[VBUnit Top] [Home]