Dotnet-core-running-tests-in-visual-studio

提供:Dev Guides
移動先:案内検索

.NET Core-Visual Studioでのテストの実行

この章では、Visual Studioでテストを実行する方法について説明します。 .NET Coreはテスト容易性を考慮して設計されているため、アプリケーションの単体テストの作成がこれまでになく簡単になります。 この章では、Visual Studioでテストプロジェクトを実行および実行します。

Visual StudioでFirstAppソリューションを開きましょう。

FirstAppソリューション

プロジェクトが2つしかないことがわかります。テストプロジェクトはソリューションに追加していないため、テストプロジェクトを表示できません。

最初にフォルダーを追加して、 test と呼びましょう。

テスト

*test* フォルダーを右クリックします。

テストフォルダー

*project.json* ファイルを選択し、 *Open* をクリックします。

プロジェクトJsonファイル

次のスクリーンショットは、 Tests.cs ファイルのコードを出力として示しています。

テスト

これはデフォルトの実装であり、Trueがtrueに等しいことをテストしているだけです。 これはxUnitテストフレームワークであり、テストメソッドに注釈を付けて示すFact属性が表示されます。

using System;
using Xunit;

namespace Tests {
   public class Tests {
      [Fact]
      public void Test1() {
         Assert.True(true);
      }
   }
}

以下は project.json ファイルの実装です。

{
   "version": "1.0.0-*",
   "buildOptions": {
      "debugType": "portable"
   },
   "dependencies": {
      "System.Runtime.Serialization.Primitives": "4.1.1",
      "xunit": "2.1.0",
      "dotnet-test-xunit": "1.0.0-rc2-192208-24"
   },
   "testRunner": "xunit",
   "frameworks": {
      "netcoreapp1.0": {
         "dependencies": {
            "Microsoft.NETCore.App": {
               "type": "platform",
               "version": "1.0.1"
            }
         },
         "imports": [
            "dotnet5.4",
            "portable-net451+win8"
         ]
      }
   }
}
*project.json* ファイルで、テストフレームワークへの最も重要な依存関係はxunitで、これはFact属性をもたらします。 それは、xunitでテストするためのテストフレームワークとAPIをもたらします。

また、 dotnet-test-xunit があります。これは、xunitが.NET Core、特に dotnet test コマンドラインユーティリティと連携できるようにするためのアダプターです。 次に、xunitを実行する testRunner が表示され、 netcoreapp1.0 フレームワークも表示されます。

以下に.NETCore.Appの依存関係が表示されます。

Visual Studioでテストを実行するには、 Test→Window→Test Explorer メニューオプションからTest Explorerを開きます。

テストエクスプローラー

そして、Visual Studioがテストを自動的に検出することがわかります。 テストの名前は namespace.className.TestMethodName で構成されます。 ここで、テストエクスプローラーの[すべて実行]ボタンをクリックします。

すべてのボタンを実行

最初にコードをビルドし、テストを実行すると、テストにかかった合計時間が表示されます。 テストが失敗したときに出力を確認できるように、テストメソッドを変更します。

using System;
using Xunit;

namespace Tests {
   public class Tests {
      [Fact]
      public void Test1() {
         Assert.True(false);
      }
   }
}

[すべて実行]ボタンリンクをクリックして、テストを再度実行します。

すべて実行

これで、 test の失敗を確認できます。