MSTest の使用を開始する

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 は MTP で MSTest ランナーを使用します。 拡張機能プロファイル、VSTest への切り替え、 Aspire および Playwright との統合などの高度な構成オプションについては、 MSTest SDK の構成を参照してください。

別の方法: MSTest NuGet パッケージを使用する

MSTest.Sdk を使用しない場合は、 MSTest NuGet メタ パッケージを使用できます。これには次のものが含まれます。

  • MSTest.TestFramework、MSTest.TestAdapter、そしてMSTest.Analyzersは、コアのMSTest機能用です。
  • Microsoft.NET.Test.Sdk VSTest 統合とテスト ホストのサポート。
  • Microsoft.Testing.Extensions.CodeCoverage および Microsoft.Testing.Extensions.TrxReport (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 で表示
UwpMtpApp Microsoft.Testing.Platform を使用したモダンな .NET UWP テスト GitHub で表示
ClassicUwpMtpApp Microsoft.Testing.Platform を使用した従来の uap10.0 UWP テスト GitHub で表示
UwpVSTestApp VSTest を使用した従来の UWP テスト GitHub で表示
WinUIMtpPackagedApp Microsoft.Testing.Platform を使用したパッケージ化された WinUI 3 のテスト GitHub で表示
WinUIMtpUnpackagedApp Microsoft.Testing.Platform による非パッケージ化 WinUI 3 のテスト GitHub で表示
WinUIMtpAppContainerApp Microsoft.Testing.Platform を使用した AppContainer WinUI 3 のテスト GitHub で表示
WinUIVSTestApp VSTest を使用した WinUI 3 テスト GitHub で表示
NativeAotRunner ネイティブ AOT コンパイル GitHub で表示
RunInDocker コンテナー化されたテストの実行 GitHub で表示