Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Petunjuk / Saran
Sebelum memilih konfigurasi runner, lihat Gambaran umum platform pengujian.
Ada beberapa cara untuk menjalankan pengujian MSTest tergantung pada kebutuhan Anda. Anda dapat menjalankan pengujian dari IDE (misalnya, Visual Studio, Visual Studio Code, atau JetBrains Rider), atau dari baris perintah, atau dari layanan CI (seperti GitHub Actions atau Azure DevOps).
Secara historis, MSTest mengandalkan VSTest untuk menjalankan pengujian di semua konteks tetapi dimulai dengan versi 3.2.0, MSTest memiliki runner pengujiannya sendiri. Runner baru ini lebih ringan dan lebih cepat daripada VSTest, dan ini adalah cara yang disarankan untuk menjalankan pengujian MSTest.
VSTest vs MTP
MSTest mendukung menjalankan pengujian dengan VSTest dan Microsoft.Testing.Platform (MTP). Dukungan untuk MTP didukung oleh pengelola MSTest, yang dapat menjalankan pengujian di semua konteks (misalnya, pipeline integrasi berkelanjutan (CI), CLI, Visual Studio Test Explorer, dan VS Code Text Explorer). Penerap MSTest disematkan langsung dalam proyek pengujian MSTest Anda, dan tidak ada dependensi aplikasi lain, seperti vstest.console atau dotnet test, yang diperlukan untuk menjalankan pengujian Anda. Namun, Anda masih dapat menjalankan pengujian menggunakan dotnet test.
MSTest runner bersifat sumber terbuka dan dibangun di atas pustaka MTP. Anda dapat menemukan kode Microsoft.Testing.Platform di repositori microsoft/testfx GitHub. Pelari MSTest dilengkapi dengan MSTest in 3.2.0 atau yang lebih baru.
Mengaktifkan MTP dalam proyek MSTest
Disarankan untuk menggunakan MSTest SDK karena sangat menyederhanakan konfigurasi proyek Anda dan memperbarui proyek, dan memastikan keselarasan yang tepat dari versi platform (MTP) dan ekstensinya.
Saat Anda menggunakan MSTest SDK, secara default Anda memilih untuk menggunakan MTP.
<Project Sdk="MSTest.Sdk/4.1.0">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>
Atau, Anda dapat mengaktifkan runner MSTest dengan menambahkan properti EnableMSTestRunner dan mengatur OutputType ke Exe dalam file project Anda. Anda juga perlu memastikan bahwa Anda menggunakan MSTest 3.2.0 atau yang lebih baru. Kami sangat menyarankan Anda memperbarui ke versi MSTest terbaru yang tersedia.
Pertimbangkan contoh file project berikut:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<!-- Enable Microsoft.Testing.Platform, this is an opt-in feature -->
<EnableMSTestRunner>true</EnableMSTestRunner>
<TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport>
<!--
Displays error on console in addition to the log file. Note that this feature comes with a performance impact.
For more information, visit https://learn.microsoft.com/dotnet/core/testing/unit-testing-with-dotnet-test#show-failure-per-test
-->
<TestingPlatformShowTestsFailure>true</TestingPlatformShowTestsFailure>
<OutputType>Exe</OutputType>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<!--
MSTest meta package is the recommended way to reference MSTest.
It's equivalent to referencing:
Microsoft.NET.Test.Sdk
MSTest.TestAdapter
MSTest.TestFramework
MSTest.Analyzers
Starting with 3.8, it also includes:
Microsoft.Testing.Extensions.TrxReport
Microsoft.Testing.Extensions.CodeCoverage
-->
<PackageReference Include="MSTest" Version="4.1.0" />
</ItemGroup>
</Project>
Petunjuk / Saran
Untuk memastikan semua proyek pengujian dalam solusi Anda menggunakan runner MSTest, atur properti EnableMSTestRunner dan TestingPlatformDotnetTestSupport di Directory.Build.props bukan file project individual.
Konfigurasi dan filter
.runsettings
MTP mendukung runsettings menggunakan opsi baris perintah --settings. Untuk daftar lengkap entri MSTest yang didukung, lihat Mengonfigurasi MSTest: Runsettings. Perintah berikut menunjukkan berbagai contoh penggunaan.
Menggunakan dotnet run:
dotnet run --project Contoso.MyTests -- --settings config.runsettings
Menggunakan dotnet exec:
dotnet exec Contoso.MyTests.dll --settings config.runsettings
-atau-
dotnet Contoso.MyTests.dll --settings config.runsettings
Menggunakan executable:
Contoso.MyTests.exe --settings config.runsettings
Filter uji coba
Anda dapat dengan mulus menyediakan pengujian filter menggunakan opsi baris perintah --filter. Perintah berikut menunjukkan beberapa contoh.
Menggunakan dotnet run:
dotnet run --project Contoso.MyTests -- --filter "FullyQualifiedName~UnitTest1|TestCategory=CategoryA"
Menggunakan dotnet exec:
dotnet exec Contoso.MyTests.dll --filter "FullyQualifiedName~UnitTest1|TestCategory=CategoryA"
-atau-
dotnet Contoso.MyTests.dll --filter "FullyQualifiedName~UnitTest1|TestCategory=CategoryA"
Menggunakan executable:
Contoso.MyTests.exe --filter "FullyQualifiedName~UnitTest1|TestCategory=CategoryA"