見出し画像

VB.NETで単体テストを作成する手順

Notion AIに質問をし、記事にさせてみました。
・VB.Netで単体テストをする際に有用なツールはあるか
・使い方、テスト例、既存プロジェクトに単体テストを追加する方法を記事にして

VB.NETで単体テストを作成する手順

この記事では、Visual Studio 2019でMicrosoft Unit Test Frameworkを使ってVB.NETの単体テストを作成する手順を紹介します。

手順

  1. 新しいプロジェクトを作成する。

  2. プロジェクトのテンプレートを「テスト」に設定する。

  3. テストプロジェクトに必要なパッケージをインストールする。

  4. テストクラスとテストメソッドを作成する。

  5. テストエクスプローラーでテストを実行する。

1. 新しいプロジェクトを作成する

まず、Visual Studioを開いて、新しいプロジェクトを作成します。プロジェクトの種類は「テスト」を選択します。

2. プロジェクトのテンプレートを「テスト」に設定する

「テスト」を選択した後、使用するテンプレートを選択します。ここでは「単体テストプロジェクト」を選択します。

3. テストプロジェクトに必要なパッケージをインストールする

テストプロジェクトでMicrosoft Unit Test Frameworkを使用するには、以下のNuGetパッケージをインストールする必要があります。

  • Microsoft.VisualStudio.QualityTools.UnitTestFramework

パッケージマネージャーコンソールから以下のコマンドを実行することで、パッケージをインストールできます。
Install-Package Microsoft.VisualStudio.QualityTools.UnitTestFramework

4. テストクラスとテストメソッドを作成する

テストプロジェクト内に、テストクラスとテストメソッドを作成します。必要なテストコードは、サンプルコードを参考にしてください。

5. テストエクスプローラーでテストを実行する

テストプロジェクト内のテストクラスやテストメソッドを、テストエクスプローラーから実行できます。テストエクスプローラーは、Visual Studioのメニューから「テスト」→「テストエクスプローラー」を選択することで、表示できます。

テストの例

以下は、VB.NETで単体テストを作成する際の例です。

  1. テキストボックスに値を入力し、検索ボタンを押下した際に、SpreadSheetに正しいデータが表示されることを確認するテスト。

<TestMethod()>
Public Sub SearchData_WhenInputValue_ReturnsCorrectData()
    '検索条件を設定する
    Dim searchForm = New SearchForm()
    searchForm.ShopCodeTextBox.Text = "TEST-001"
    searchForm.IdTextBox.Text = "001"
    searchForm.ProductNameTextBox.Text = "test_item"

    '検索ボタンをクリックする
    searchForm.SearchButton.PerformClick()

    'SpreadSheetの内容を確認する
    Dim spreadSheet = searchForm.SpreadSheet
    Assert.AreEqual(1, spreadSheet.Rows.Count)
    Assert.AreEqual("TEST-001", spreadSheet.Rows(0).Cells("shop_code").Value)
    Assert.AreEqual("001", spreadSheet.Rows(0).Cells("id").Value)
    Assert.AreEqual("test_item", spreadSheet.Rows(0).Cells("product_name").Value)
    Assert.AreEqual(1000, spreadSheet.Rows(0).Cells("price").Value)
    Assert.AreEqual(10, spreadSheet.Rows(0).Cells("quantity").Value)
End Sub

  1. テキストボックスに値を入力せずに、検索ボタンを押下した際に、SpreadSheetに何も表示されないことを確認するテスト。

<TestMethod()>
Public Sub SearchData_WhenNotInputValue_NothingDisplayed()
    '検索条件を設定する
    Dim searchForm = New SearchForm()

    '検索ボタンをクリックする
    searchForm.SearchButton.PerformClick()

    'SpreadSheetの内容を確認する
    Dim spreadSheet = searchForm.SpreadSheet
    Assert.AreEqual(0, spreadSheet.Rows.Count)
End Sub

  1. 全ての項目を入力し、検索ボタンを押下した際に、SpreadSheetに正しいデータが表示されることを確認するテスト。

<TestMethod()>
Public Sub SearchData_WhenInputAllValue_ReturnsCorrectData()
    '検索条件を設定する
    Dim searchForm = New SearchForm()
    searchForm.ShopCodeTextBox.Text = "TEST-001"
    searchForm.DateTextBox.Text = "2022/01/01"
    searchForm.IdTextBox.Text = "001"
    searchForm.ProductNameTextBox.Text = "test_item"
    searchForm.PriceTextBox.Text = "1000"
    searchForm.QuantityTextBox.Text = "10"

    '検索ボタンをクリックする
    searchForm.SearchButton.PerformClick()

    'SpreadSheetの内容を確認する
    Dim spreadSheet = searchForm.SpreadSheet
    Assert.AreEqual(1, spreadSheet.Rows.Count)
    Assert.AreEqual("TEST-001", spreadSheet.Rows(0).Cells("shop_code").Value)
    Assert.AreEqual("001", spreadSheet.Rows(0).Cells("id").Value)
    Assert.AreEqual("test_item", spreadSheet.Rows(0).Cells("product_name").Value)
    Assert.AreEqual(1000, spreadSheet.Rows(0).Cells("price").Value)
    Assert.AreEqual(10, spreadSheet.Rows(0).Cells("quantity").Value)
End Sub

以上が、VB.NETで単体テストを作成する手順と例です。
###既存プロジェクトに単体テストを追加する
既存のプロジェクトに単体テストを追加するには、以下の手順に従ってください。

  1. 既存のプロジェクトを開きます。

  2. 「テスト」メニューから「新しいテストプロジェクト」を選択します。

  3. 新しいテストプロジェクトを既存のソリューションに追加します。

  4. 追加したテストプロジェクトで、必要なパッケージをインストールし、テストコードを記述します。

  5. テストエクスプローラーでテストを実行します。

詳細な手順を以下に示します。

1. 既存のプロジェクトを開く

既存のプロジェクトを開きます。

2. 「テスト」メニューから「新しいテストプロジェクト」を選択する

Visual Studioのメニューから「テスト」→「新しいテストプロジェクト」を選択します。

3. 新しいテストプロジェクトを既存のソリューションに追加する

新しいテストプロジェクトを、既存のソリューションに追加します。

4. 追加したテストプロジェクトで、必要なパッケージをインストールし、テストコードを記述する

追加したテストプロジェクトで、必要なNuGetパッケージをインストールし、テストコードを記述します。

5. テストエクスプローラーでテストを実行する

テストエクスプローラーで、追加したテストプロジェクトのテストを実行します。
以上が、既存のプロジェクトに単体テストを追加する手順です。

VB.NETで単体テストを作成する手順

この記事では、Visual Studio 2019でMicrosoft Unit Test Frameworkを使ってVB.NETの単体テストを作成する手順を紹介します。

手順

  1. 新しいプロジェクトを作成する。

  2. プロジェクトのテンプレートを「テスト」に設定する。

  3. テストプロジェクトに必要なパッケージをインストールする。

  4. テストクラスとテストメソッドを作成する。

  5. テストエクスプローラーでテストを実行する。

1. 新しいプロジェクトを作成する

まず、Visual Studioを開いて、新しいプロジェクトを作成します。プロジェクトの種類は「テスト」を選択します。

2. プロジェクトのテンプレートを「テスト」に設定する

「テスト」を選択した後、使用するテンプレートを選択します。ここでは「単体テストプロジェクト」を選択します。

3. テストプロジェクトに必要なパッケージをインストールする

テストプロジェクトでMicrosoft Unit Test Frameworkを使用するには、以下のNuGetパッケージをインストールする必要があります。

  • Microsoft.VisualStudio.QualityTools.UnitTestFramework

パッケージマネージャーコンソールから以下のコマンドを実行することで、パッケージをインストールできます。
Install-Package Microsoft.VisualStudio.QualityTools.UnitTestFramework

4. テストクラスとテストメソッドを作成する

テストプロジェクト内に、テストクラスとテストメソッドを作成します。必要なテストコードは、サンプルコードを参考にしてください。

5. テストエクスプローラーでテストを実行する

テストプロジェクト内のテストクラスやテストメソッドを、テストエクスプローラーから実行できます。テストエクスプローラーは、Visual Studioのメニューから「テスト」→「テストエクスプローラー」を選択することで、表示できます。

テストの例

以下は、VB.NETで単体テストを作成する際の例です。

  1. テキストボックスに値を入力し、検索ボタンを押下した際に、SpreadSheetに正しいデータが表示されることを確認するテスト。

<TestMethod()>
Public Sub SearchData_WhenInputValue_ReturnsCorrectData()
    '検索条件を設定する
    Dim searchForm = New SearchForm()
    searchForm.ShopCodeTextBox.Text = "TEST-001"
    searchForm.IdTextBox.Text = "001"
    searchForm.ProductNameTextBox.Text = "test_item"

    '検索ボタンをクリックする
    searchForm.SearchButton.PerformClick()

    'SpreadSheetの内容を確認する
    Dim spreadSheet = searchForm.SpreadSheet
    Assert.AreEqual(1, spreadSheet.Rows.Count)
    Assert.AreEqual("TEST-001", spreadSheet.Rows(0).Cells("shop_code").Value)
    Assert.AreEqual("001", spreadSheet.Rows(0).Cells("id").Value)
    Assert.AreEqual("test_item", spreadSheet.Rows(0).Cells("product_name").Value)
    Assert.AreEqual(1000, spreadSheet.Rows(0).Cells("price").Value)
    Assert.AreEqual(10, spreadSheet.Rows(0).Cells("quantity").Value)
End Sub

  1. テキストボックスに値を入力せずに、検索ボタンを押下した際に、SpreadSheetに何も表示されないことを確認するテスト。

<TestMethod()>
Public Sub SearchData_WhenNotInputValue_NothingDisplayed()
    '検索条件を設定する
    Dim searchForm = New SearchForm()

    '検索ボタンをクリックする
    searchForm.SearchButton.PerformClick()

    'SpreadSheetの内容を確認する
    Dim spreadSheet = searchForm.SpreadSheet
    Assert.AreEqual(0, spreadSheet.Rows.Count)
End Sub

  1. 全ての項目を入力し、検索ボタンを押下した際に、SpreadSheetに正しいデータが表示されることを確認するテスト。

<TestMethod()>
Public Sub SearchData_WhenInputAllValue_ReturnsCorrectData()
    '検索条件を設定する
    Dim searchForm = New SearchForm()
    searchForm.ShopCodeTextBox.Text = "TEST-001"
    searchForm.DateTextBox.Text = "2022/01/01"
    searchForm.IdTextBox.Text = "001"
    searchForm.ProductNameTextBox.Text = "test_item"
    searchForm.PriceTextBox.Text = "1000"
    searchForm.QuantityTextBox.Text = "10"

    '検索ボタンをクリックする
    searchForm.SearchButton.PerformClick()

    'SpreadSheetの内容を確認する
    Dim spreadSheet = searchForm.SpreadSheet
    Assert.AreEqual(1, spreadSheet.Rows.Count)
    Assert.AreEqual("TEST-001", spreadSheet.Rows(0).Cells("shop_code").Value)
    Assert.AreEqual("001", spreadSheet.Rows(0).Cells("id").Value)
    Assert.AreEqual("test_item", spreadSheet.Rows(0).Cells("product_name").Value)
    Assert.AreEqual(1000, spreadSheet.Rows(0).Cells("price").Value)
    Assert.AreEqual(10, spreadSheet.Rows(0).Cells("quantity").Value)
End Sub

以上が、VB.NETで単体テストを作成する手順と例です。

既存プロジェクトに単体テストを追加する

既存のプロジェクトに単体テストを追加するには、以下の手順に従ってください。

  1. 既存のプロジェクトを開きます。

  2. 「テスト」メニューから「新しいテストプロジェクト」を選択します。

  3. 新しいテストプロジェクトを既存のソリューションに追加します。

  4. 追加したテストプロジェクトで、必要なパッケージをインストールし、テストコードを記述します。

  5. テストエクスプローラーでテストを実行します。

詳細な手順を以下に示します。

1. 既存のプロジェクトを開く

既存のプロジェクトを開きます。

2. 「テスト」メニューから「新しいテストプロジェクト」を選択する

Visual Studioのメニューから「テスト」→「新しいテストプロジェクト」を選択します。

3. 新しいテストプロジェクトを既存のソリューションに追加する

新しいテストプロジェクトを、既存のソリューションに追加します。

4. 追加したテストプロジェクトで、必要なパッケージをインストールし、テストコードを記述する

追加したテストプロジェクトで、必要なNuGetパッケージをインストールし、テストコードを記述します。

5. テストエクスプローラーでテストを実行する

テストエクスプローラーで、追加したテストプロジェクトのテストを実行します。
以上が、既存のプロジェクトに単体テストを追加する手順です。

いいなと思ったら応援しよう!