したがって、広範なコードベースを扱う際の学習曲線を避けるために、開発段階の早い段階で単体テストの基礎を習得することが重要です。
このチュートリアルでは、C# と MSTest テスト ライブラリを使用した単体テストのフレームワークを紹介します。単体テストの作成方法、実行方法、テストの失敗または成功の結果を解釈する方法を学習できる基本的なアプリケーションを構築します。
テスト環境
まず、テスト ソリューションと基本的なアプリケーションの構成方法について説明します。
このチュートリアルのアプリケーションに従って、複製するには、次のものがあることを確認してください。
- インストールされた Visual Studio
- マシン上に構成された .NET および C# ツール
アプリケーションを作成する
次に、Visual Studio を開いて新しいソリューションを作成します。このチュートリアルでは、基本的な電卓アプリケーションを構築します。アプリケーションには任意の名前を付けることができます。
次に、新しいプロジェクトを作成し、プロジェクト タイプとして MSTest テスト プロジェクトを選択し、任意の名前を付けます。
必ず「ソリューションに追加」を選択し、以前に作成したアプリを選択してください。
ソリューション エクスプローラーに表示されているように、メイン アプリケーションと単体テスト プロジェクトが存在するはずです。
電卓アプリケーションのコードを作成する
次のステップは、電卓アプリケーションのコードを作成することです。これは、CalcApp の「program.cs」ファイルで行うことができます。
基本的な機能を探しているので、次のようにソース コードを追加できます。
パブリック クラス電卓{
公共 ダブル 追加 ( ダブル ある 、 ダブル b )
{
戻る ある + b ;
}
公共 ダブル 減算 ( ダブル ある 、 ダブル b )
{
戻る ある - b ;
}
公共 ダブル かける ( ダブル ある 、 ダブル b )
{
戻る ある * b ;
}
公共 ダブル 分ける ( ダブル ある 、 ダブル b )
{
もし ( b == 0 )
新しい DivideByZeroException をスローする ( ) ;
戻る ある / b ;
}
}
ご想像のとおり、前のコードは基本的な算術アプリケーションを実行できる電卓アプリを作成します。
単体テストを作成する
完了したら、「Calculator」クラスの単体テストを作成できます。この場合、次のようにプロジェクトの「UnitTest」ファイルにテストを記述するだけです。
システムを使用して ;名前空間 CalcApp
{
パブリック クラス電卓
{
公共 ダブル 追加 ( ダブル ある 、 ダブル b )
{
戻る ある + b ;
}
公共 ダブル 減算 ( ダブル ある 、 ダブル b )
{
戻る ある - b ;
}
公共 ダブル かける ( ダブル ある 、 ダブル b )
{
戻る ある * b ;
}
公共 ダブル 分ける ( ダブル ある 、 ダブル b )
{
もし ( b == 0 )
新しい DivideByZeroException をスローする ( ) ;
戻る ある / b ;
}
}
}
名前空間 CalcTest
{
[ テストクラス ]
パブリック クラス CalculatorTests
{
プライベート電卓電卓 ;
[ テスト初期化 ]
公共 空所 設定 ( )
{
電卓 = 新しい電卓 ( ) ;
}
[ 試験方法 ]
公共 空所 Add_TwoPositiveNumbers_ReturnsCorrectSum ( )
{
結果でした = 電卓。 追加 ( 5 、 5 ) ;
主張する。 は同じ ( 10 、 結果 ) ;
}
[ 試験方法 ]
公共 空所 Subtract_TwoPositiveNumbers_ReturnsCorrectDifference ( )
{
結果でした = 電卓。 減算 ( 10 、 5 ) ;
主張する。 は同じ ( 5 、 結果 ) ;
}
[ 試験方法 ]
公共 空所 Multiply_TwoPositiveNumbers_ReturnsCorrectProduct ( )
{
結果でした = 電卓。 かける ( 5 、 5 ) ;
主張する。 は同じ ( 25 、 結果 ) ;
}
[ 試験方法 】
[ 予想される例外 ( の種類 ( ゼロ除算例外 ) ) 】
公共 空所 Divide_DenominatorIsZero_ThrowsDivideByZeroException ( )
{
結果でした = 電卓。 分ける ( 5 、 0 ) ;
}
[ 試験方法 】
公共 空所 Divide_TwoPositiveNumbers_ReturnsCorrectQuotient ( )
{
結果でした = 電卓。 分ける ( 10 、 5 ) ;
主張する。 は同じ ( 2 、 結果 ) ;
}
}
}
結論
これは、MSTest フレームワークを使用した C# での単体テストの基礎を説明する基本的なチュートリアルです。