5
8

More than 1 year has passed since last update.

【C#】単体テスト作成方法

Last updated at Posted at 2023-04-25

C#で単体テストをする方法。

動作環境

  • windows11
  • VisualStudio 2019 Professional
  • .NET Framework

プロジェクトの作成

image.png

まずは新しいプロジェクトを作成する
今回はWindowsFormで作る

image.png

新しいプロジェクトが作成できたら

image.png

ソリューションのところを右クリックして
追加→新しいプロジェクトを選択

image.png

単体テストプロジェクトを選択

image.png

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

image.png

作成できたら作成したプロジェクトの参照を右クリックして参照の追加を選択
最初に作ったプロジェクトを追加する

image.png
ここで参照のところに最初に作ったプロジェクトがあればOK
黄色い▲マークが付いていたらダメ
最初のプロジェクトとテストプロジェクトのターゲットフレームワークが異なっている等の原因が考えられる


テストの作成

最初のプロジェクトにCalculation.csを追加し、次のコードを追加する。

Calculation.cs
namespace hogeApp
{
    public static class Calculation
    {
        public static int Sum(int a, int b)
        {
            return a + b;
        }
    }
}

テストをするほどの関数ではないが引数aとbの合計を返す関数を作成

テストプロジェクトのUnitTest1.csに先ほどのSum()関数のテストコードを書いていく

UnitTest1.cs
namespace hogeAppTest
{
    [TestClass]
    public class UnitTest1
    {
        [TestMethod]
        public void TestMethod1()
        {
            //テストしたい関数を呼び出して返り値を格納
            int sum = hogeApp.Calculation.Sum(2,5);

            //(想定した値, 実際の返り値)を引数に指定
            Assert.AreEqual(7,sum);
        }
    }
}

ここまで記述できたら画面左にあるテストエクスプローラーからテストを実行する
※テストエクスプローラーが無い場合は画面上部のテストからテストエクスプローラーを追加できる

image.png

2+5=7で想定した値が返ってきているので
テストが成功している

次は想定した値を違う値(100)とかにしてテストを実行してみる

image.png

当然想定している値ではないのでテストが失敗している

どのような失敗をしているのかはエラーになっているテストをクリックしていくとわかる

image.png

メッセージのところに

Assert.AreEqual に失敗しました。<100> が必要ですが、<7> が指定されました。

とあるので詳細がわかる

これでテストプロジェクトが作成できたので、
ここからテストコードを追加していけばOK

5
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
8