【C#】ChatGPTも活用した単体テストの練習
今回は、Windows Formsアプリの場合についてテストコードを実装する方法をみていきましょう
条件
.Net frameworkのフレームワークを使った場合になります
テストされるコードについて
次のAddメソッドをテストします
テストというイメージですが、例えば、2と3を引数で渡して戻り値として5が返ってくれば、このメソッドは正しく実装されていると考え、正常と判定します
単純なコードですが、これを自動的にテストする様子を見ていきます
public class Calculator
{
public int Add(int x, int y)
{
return x + y;
}
}
テストコード
[TestMethod]
public void TestAdd()
{
// 準備
Calculator calculator = new Calculator(); // Calculatorクラスのインスタンスを作成します
int a = 5; // 整数変数aに5を代入します
int b = 3; // 整数変数bに3を代入します
int expected = 8; // 期待される結果は8です
// 実行
int result = calculator.Add(a, b); // Addメソッドを呼び出して計算結果を取得します
// アサーション
Assert.AreEqual(expected, result); // 結果を期待値と比較し、テストの成否を判定します
}
このコードは、CalculatorクラスのAddメソッドをテストしています。テストメソッドの流れは以下の通りです。
- 準備: 最初に、Calculatorクラスの新しいインスタンスを作成し、整数変数aとbにそれぞれ5と3を代入します。また、計算結果の期待値として8を設定します。
- 実行: CalculatorクラスのAddメソッドを呼び出し、aとbを加算した結果を取得します。この結果は変数resultに格納されます。
- アサーション: 最後に、計算結果(result)と期待値(expected)を比較して、それらが等しいかどうかを確認します。もし等しくなければ、テストは失敗となります。
このテストは、Addメソッドが5と3を加算して正確に8を返すかどうかを確認するために使用されます。もしAddメソッドに問題がある場合、このテストは失敗し、問題箇所を特定するのに役立ちます。
このコードは、Calculator
クラスのAdd
メソッドが正しく機能しているかどうかをテストしています。テストが成功すると、Add
メソッドは期待通りに動作し、異常な振る舞いがないことが確認されます。逆に、テストが失敗する場合、Add
メソッドに問題がある可能性があります。
手順のビデオ
ここでは、すでにあるFormsアプリに新しくクラス、メソッドを作成する手順、テストコードの追加手順、テスト実行手順について紹介しています
テストコードの作成は、ChatGPTを使ってサンプルを作っています
学習目的で参考にしてもらえればと思います
ビデオ中のテストコード
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using WindowsFormsApp3;
namespace UnitTestProject2
{
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestAdd()
{
// Arrange
Calculator calculator = new Calculator();
int a = 5;
int b = 3;
int expected = 8;
// Act
int result = calculator.Add(a, b);
// Assert
Assert.AreEqual(expected, result);
}
[TestMethod]
public void TestAdd_NegativeNumbers()
{
// Arrange
Calculator calculator = new Calculator();
int a = -5;
int b = -3;
int expected = -8;
// Act
int result = calculator.Add(a, b);
// Assert
Assert.AreEqual(expected, result);
}
}
}
ディスカッション
コメント一覧
まだ、コメントがありません