MSTest プロジェクトを作成する推奨される方法は、MSTest を使用してテストするためのファースト クラスのエクスペリエンスを提供する MSBuild プロジェクト SDK である MSTest.Sdk を使用することです。 これには、推奨されるすべての既定値が含まれており、プロジェクトの構成が簡略化されます。
MSTest.Sdk を使用してプロジェクトを作成する
MSTest プロジェクトを作成するには、 Sdk 属性をプロジェクト ファイルの MSTest バージョンと共に MSTest.Sdk に設定します。
<Project Sdk="MSTest.Sdk/4.1.0">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
</PropertyGroup>
</Project>
注
4.1.0 は例として提供され、新しいバージョンに置き換えることができます。
複数のテスト プロジェクト間でのバージョン管理を簡略化するには、ソリューション レベルで global.json ファイルに SDK バージョンを指定することをお勧めします。
<Project Sdk="MSTest.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
</PropertyGroup>
</Project>
{
"msbuild-sdks": {
"MSTest.Sdk": "4.1.0"
}
}
詳細については、MSBuild プロジェクト SDK に関する記事を参照してください。
プロジェクトを build すると、必要なすべてのコンポーネントが復元され、標準の NuGet ワークフローを使用してインストールされます。 他のテスト プロジェクトと同じツール ( dotnet test や Visual Studio など) を使用できます。
ヒント
既定では、MSTest.Sdk は Microsoft.Testing.Platform で MSTest ランナーを使用します。 拡張機能プロファイル、VSTest への切り替え、アスパイアとプレイライトとの統合などの高度な構成オプションについては、 MSTest SDK の構成を参照してください。
別の方法: MSTest NuGet パッケージを使用する
MSTest.Sdk を使用しない場合は、 MSTest NuGet メタ パッケージを使用できます。これには次のものが含まれます。
-
MSTest.TestFramework、MSTest.TestAdapter、そしてMSTest.Analyzersは、コアのMSTest機能用です。 -
Microsoft.NET.Test.SdkVSTest 統合とテスト ホストのサポート。 -
Microsoft.Testing.Extensions.CodeCoverageおよびMicrosoft.Testing.Extensions.TrxReportMicrosoft.Testing.Platform (MTP)拡張機能用。
NuGet パッケージの概要
MSTest 機能は、複数の NuGet パッケージに分割されます。
| パッケージ | Description |
|---|---|
| MSTest.TestFramework | MSTest テストの定義に使用される属性とクラスが含まれています。 |
| MSTest.TestAdapter | MSTest テストを検出して実行するテスト アダプターが含まれています。 |
| MSTest.Analyzers | 高品質のテストを記述するのに役立つアナライザーが含まれています。 |
注
複数のテストプロジェクトのヘルパーライブラリとして使用されるテストインフラストラクチャプロジェクトを作成する場合は、MSTest.TestFramework と MSTest.Analyzers をそのプロジェクトに直接インストールしてください。
言語固有のチュートリアル
優先する .NET 言語の詳細なステップ バイ ステップ チュートリアルについては、次の手順を実行します。
- C# の概要: 最初の C# テスト プロジェクトを作成し、基本的なテストを記述する
- F# の概要: MSTest で F# コードをテストする
- Visual Basic の概要: MSTest を使用して Visual Basic コードをテストする
サンプル プロジェクト
MSTest チームは、さまざまな機能とシナリオを示すサンプル プロジェクトを microsoft/testfx リポジトリ に保持しています。
| Sample | Description | Link |
|---|---|---|
| Simple1 | MSTest ランナーの基本的なセットアップ | GitHub で表示 |
| DemoMSTestSdk | MSTest SDK プロジェクトのセットアップ | GitHub で表示 |
| BlankUwpNet9App | .NET 9 を使用した UWP テスト | GitHub で表示 |
| BlankWinUINet9App | .NET 9 での WinUI 3 テスト | GitHub で表示 |
| NativeAotRunner | ネイティブ AOT コンパイル | GitHub で表示 |
| RunInDocker | コンテナー化されたテストの実行 | GitHub で表示 |
.NET