TeamCityでのxUnitテスト

MicrosoftはASP.NETCoreMSBuildなどのオープンソースプロジェクトを積極的に開発していますこれに伴い、xUnitテストフレームワークが人気を集めており、ユニットテストに使用されています。この記事では、TeamCityを使用して継続的なプロジェクト統合のためにxUnitテストを実行するいくつかの方法を見ていきます。







サンプルのビルド構成が上で見つけることができます。このチームシティーのデモサーバー、およびソースコードはであるこのリポジトリLibのは、テスト対象のアプリケーションのコードであり、かつLib.Testsテストとプロジェクトです。これらのプロジェクトは両方とも、net472およびnetcoreapp2.1の.NETバージョンを対象としています







xUnitをサポートするために、テストプロジェクトには対応するxunitパッケージのNuGet依存関係があります







<PackageReference Include="xunit"/>









このメタパッケージにはバイナリは含まれていませんが、xunit.corexunit.assert、およびxunit.analyzersNuGetパッケージにいくつかの依存関係が追加されていますこれはxUnitテストAPIです。xUnitの各テストメソッドは、通常のテストの場合[Fact]属性、パラメーター化されたテストの場合は[Theory]マークされます。通常、テストされた各モジュールは、1つまたは別のロジックをチェックする一連のテストメソッドを備えた独自のテストクラスに対応します。テストされた各プロジェクトには、独自のテストプロジェクトがあります。







, TeamCity . , . TeamCity , . : , TeamCity .







xUnit console runner



, xunit.console, xunit.runner.console. : , , . :







  1. xunit.console TeamCity, ?
  2. xunit.console ? xunit.runner.console .NET.
  3. , , .NET?
  4. ? , , , , .
  5. ?
  6. TeamCity?


TeamCity, 5 , .NET:







画像







(1): “ xunit.console?”:







画像







.NET, xunit.runner.console Lib.Tests. 2 xunit.console TeamCity. , . xunit.console ? , NuGet-:





  • Windows: %userprofile%\.nuget\packages



  • Mac/Linux: ~/.nuget/packages





, , , TeamCity, . . , xunit.console, NUGET_PACKAGES %teamcity.build.checkoutDir%/packages. , NuGet- . packages, . :







画像







, xunit.console . . (solution), :







画像







, packages NuGet- , xunit.runner.console, Lib.Tests/bin/Debug – , .NET. Lib.Tests/bin/Debug/net472 , Lib.Tests/bin/Debug/netcoreapp2.1 .NET CoreApp 2.1 . , _JSON-_ , . 3 .NET CoreApp 2.1:







画像







: . :







  • Lib.Tests/bin/Debug/net472
  • Lib.Tests/bin/Debug/netcoreapp2.1/publish


xunit.console :







  • packages/xunit.runner.console/**/net472/xunit.console.exe
  • packages/xunit.runner.console/**/netcoreapp1.0/xunit.console.dll


** – xunit.runner.console.







(1) (2) . (3) , .NET. , .NET , . , , PowerShell- TeamCity Kotlin DSL. (4) (5), , , , .NET, :





  • ,
  • xunit.console.dll _xunit.console.exe _ , (, Docker, ..)


.NET:





画像







画像







(6): “ TeamCity?”. xunit.console , _TEAMCITY_PROJECTNAME, TeamCity . xunit.console , TeamCity service messages.







, , . - , TeamCity Meta-Runner.







Meta-Runners Power Pack



TeamCity - Power Pack - xUnit.net-dotCover, xUnit- . :







画像







(2) . , -, :







画像







xunit.console NuGet- xunit.runner.console .NET Framework ( .NET Framework 4.72), . 2 xunit.console .







- xUnit.net-dotCover:







  • , .NET Core .NET 5+.
  • dotCover .
  • xunit.console Xunit Runner Executable.


, - , , , , .NET Framework.







dotnet test



.NET Runner test , .NET TeamCity. :







画像







:







  • : xUnit, NUint . .







  • , .







  • .NET TargetFrameworks, Full .NET Framework, .NET Core .NET 5+.







  • Docker-.







  • - .









Visual Studio Rider dotnet new, , dotnet new xunit -o Lib.Tests, . "", , xunit, Microsoft.NET.Test.Sdk xunit.runner.visualstudio:







<PackageReference Include="Microsoft.NET.Test.Sdk"/>









<PackageReference Include="xunit.runner.visualstudio"/>









Microsoft.NET.Test.Sdk MSBuild, , : xunit.runner.visualstudio, Visual Studio Test Platform. , , NUnit – NUnit3TestAdapter, MSTest – MSTest.TestAdapter.







xUnit .







, ! TeamCity , . TeamCity .NET, .








All Articles