この記事では、テストの概念を紹介し、さまざまな種類のテストを使用してコードを検証する方法について説明します。 .NET CLI や Integrated Development Environment (IDE) など、.NET アプリケーションのテストに使用できるさまざまなツールがあります。
テストの種類
自動テストは、アプリケーション コードが作成者の意図した動作を確実に行うための優れた方法です。 この記事では、単体テスト、統合テスト、ロード テストについて説明します。
単体テスト
単体テストは、"作業単位" とも呼ばれる個々のソフトウェア コンポーネントまたはメソッドを実行するテストです。単体テストでは、開発者のコントロール内のコードのみをテストする必要があります。 インフラストラクチャの問題はテストされません。 インフラストラクチャの問題には、データベース、ファイル システム、ネットワーク リソースとの対話が含まれます。
単体テストの作成の詳細については、「 テスト ツール」を参照してください。
統合テスト
統合テストは、2 つ以上のソフトウェア コンポーネントが一緒に機能する機能 ("統合" とも呼ばれます) を実行するという点で単体テストとは異なります。これらのテストは、テスト対象のシステムの広い範囲で動作しますが、単体テストでは個々のコンポーネントに焦点を当てています。 多くの場合、統合テストにはインフラストラクチャの問題が含まれます。
負荷テスト
ロード テストは、システムが指定された負荷を処理できるかどうかを判断することを目的としています。 たとえば、アプリケーションを使用する同時実行ユーザーの数と、対話を応答性よく処理するアプリの機能などです。 Web アプリケーションのロード テストの詳細については、「ASP.NET Coreロード/ストレス テストを参照してください。
テストに関する考慮事項
テストを記述するための ベスト プラクティス があることに注意してください。 たとえば、 テスト 駆動開発 (TDD) は、確認するコードの前に単体テストを記述する場合です。 TDD は、書籍を書く前にアウトラインを作成するようなものです。 単体テストは、開発者が、よりシンプルで読みやすく、効率的なコードを記述するのに役立ちます。
テスト ツール
.NETでテストを実行する場合、テスト プラットフォームとテスト フレームワークという 2 つのコンポーネントが関係します。
テスト プラットフォーム
テスト プラットフォームは、テストを実行し、IDE や CLI などのツールと通信するエンジンです。
vsTest と Microsoft の違いを理解するには、Test プラットフォームの概要を使用します。Testing.Platform を選択し、シナリオに最適なプラットフォームを選択します。
移行ガイダンスについては、「 VSTest から Microsoft への移行」を参照してください。Testing.Platform。
テスト フレームワーク
テスト フレームワークは、テスト プラットフォーム上に構築されています。 テスト作成者として使用できる属性と API のセットを定義します。 通常、テスト アダプターを使用します。テスト アダプターは、テスト フレームワークとテスト プラットフォームの間の通信層として機能します。 一般的なテスト フレームワークは、MSTest、NUnit、TUnit、xUnit.net です。
MSTest
MSTest は、すべての.NET言語のMicrosoftテスト フレームワークです。 これは拡張可能であり、.NET CLI、Visual Studio、Visual Studio Code、および Rider と連携します。 VSTestとMicrosoft.Testing.Platformの両方をサポートしています。
詳細については、次のリソースを参照してください。
- MSTest を使用してテストを実行する
- C# を始める
- F#を始めよう
Visual Basic
NUnit
NUnit は、すべての.NET言語の単体テスト フレームワークです。 当初、NUnit は JUnit から移植され、現在の運用リリースは多くの新機能と、さまざまな.NET プラットフォームのサポートで書き換えられました。 これは、.NET Foundation のプロジェクトです。 VSTest と Microsoft.Testing.Platform の両方をサポートしています。
詳細については、次のリソースを参照してください。
NUnit (NUnit ランナー) での「Microsoft.Testing.Platform」サポート - C を使用した単体テスト#
- F を使用した単体テスト#
- Visual Basic を使用したユニットテスト
TUnit
TUnit は Microsoft.Testing.Platform の上に完全に構築されており、VSTest はサポートされていません。 詳細については、TUnit のドキュメントを参照してください。
xUnit.net
xUnit.net は、.NET用の無料のオープンソースのコミュニティに重点を置いた単体テスト ツールです。 NUnit v2 の元の発明者は xUnit.net を書きました。 xUnit.net は、アプリ.NET単体テスト用の最新のテクノロジです。 ReSharper、CodeRush、TestDriven.NET でも動作します。 xUnit.netは.NET Foundationのプロジェクトであり、その行動規範の下で運営されています。 VSTest とMicrosoftの両方をサポートしています。Testing.Platform
詳細については、次のリソースを参照してください。
Microsoft。xUnit.net v3 - C を使用した単体テスト#
- F を使用した単体テスト#
- Visual Basic を使用したユニットテスト
テストを実行する
.NET CLI
IDE
Visual Studio、Visual Studio Code、または Rider を使用しているかどうかに関係なく、機能をテストするためのグラフィカル ユーザー インターフェイスがあります。 IDE には CLI よりも多くの機能があります ( Live Unit Testing など)。 詳細については、「Visual Studio を使用したテストの含めることと除外」を参照してください。
こちらも参照ください
詳細については、次の記事を参照してください。
.NET