Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makale: ✔️ .NET 10 SDK ve sonraki sürümler için geçerlidir
İsim
dotnet test - MTP ile birim testlerini yürütmek için kullanılan .NET test sürücüsü.
Özet
dotnet test
[--project <PROJECT_PATH>]
[--solution <SOLUTION_PATH>]
[--test-modules <EXPRESSION>]
[--root-directory <ROOT_PATH>]
[--max-parallel-test-modules <NUMBER>]
[--config-file <CONFIG_FILE>]
[--results-directory <RESULTS_DIRECTORY>]
[--diagnostic-output-directory <DIAGNOSTIC_OUTPUT_DIRECTORY>]
[--minimum-expected-tests <NUMBER>]
[-a|--arch <ARCHITECTURE>]
[-c|--configuration <CONFIGURATION>]
[-f|--framework <FRAMEWORK>]
[--os <OS>]
[-r|--runtime <RUNTIME_IDENTIFIER>]
[-v|--verbosity <LEVEL>]
[--no-build]
[--no-restore]
[--no-ansi]
[--no-progress]
[--output <VERBOSITY_LEVEL>]
[--no-launch-profile]
[--no-launch-profile-arguments]
[<args>...]
dotnet test -h|--help
Description
MTP ile VSTest'ten dotnet test daha hızlı çalışır. Testle ilgili bağımsız değişkenler, test project kayıtlı uzantılara bağlı olduğundan artık sabit değildir. Ayrıca, MTP testleri çalıştırırken globbing filtresini destekler. Daha fazla bilgi için bkz. MTP.
Uyarı
aracılığıyla MTP kabul edildiğindeglobal.jsondotnet test, tüm test projelerinin MTP kullanmasını bekler. Test projelerinden herhangi biri VSTest kullanıyorsa bu bir hatadır.
Örtük geri yükleme
dotnet restore, dotnet new, dotnet build, dotnet run, dotnet testve dotnet publishgibi geri yükleme gerektiren tüm komutlar tarafından örtük olarak çalıştırıldığından dotnet pack çalıştırmanız gerekmez. Örtük geri yüklemeyi devre dışı bırakmak için --no-restore seçeneğini kullanın.
NuGet akışlarını yönetme hakkında bilgi için
Options
Uyarı
Aynı anda aşağıdaki seçeneklerden yalnızca birini kullanabilirsiniz: --project, --solution veya --test-modules. Bu seçenekler birleştirilemiyor.
Ayrıca, --test-moduleskullanırken , --arch, --configuration, --frameworkveya --os--runtimebelirtemezsiniz. Bu seçenekler önceden oluşturulmuş bir modül için uygun değildir.
--project <PROJECT_PATH>Çalıştırılacak project dosyasının yolunu belirtir (klasör adı veya tam yol). Belirtilmezse, varsayılan olarak geçerli dizine geçer.
--solution <SOLUTION_PATH>Çalıştırılacak çözüm dosyasının yolunu belirtir (klasör adı veya tam yol). Belirtilmezse, varsayılan olarak geçerli dizine geçer.
--test-modules <EXPRESSION>Dosya genelleme kullanarak test modüllerini filtreler. Yalnızca bu test modüllerine ait testler çalışır.
--root-directory <ROOT_PATH>--test-modulesseçeneğinin kök dizinini belirtir. Yalnızca--test-modulesseçeneğiyle kullanılabilir.--max-parallel-test-modules <NUMBER>Paralel olarak çalışabilecek en fazla test modülü sayısını belirtir. Varsayılan değer: Environment.ProcessorCount.
--config-file <CONFIG_FILE>Test yürütme için kullanılacak yapılandırma dosyasını belirtir. Göreli bir yol sağlanırsa, geçerli dizine göre mutlak bir yola dönüştürülür. Yapılandırma dosyası ayarları hakkında daha fazla bilgi için bkz. testconfig.json.
--results-directory <RESULTS_DIRECTORY>Test sonuçlarının depolandığı dizini belirtir. Dizin yoksa oluşturulur. Göreli bir yol sağlanırsa, geçerli dizine göre mutlak bir yola dönüştürülür.
--diagnostic-output-directory <DIAGNOSTIC_OUTPUT_DIRECTORY>Tanılama çıktısının depolandığı dizini belirtir. Dizin yoksa oluşturulur. Göreli bir yol sağlanırsa, geçerli dizine göre mutlak bir yola dönüştürülür.
--minimum-expected-tests <NUMBER>Yürütülmesi gereken en az test sayısını belirtir. Gerçek test sayısı belirtilen minimumdan küçükse, test çalıştırması çıkış kodu 9 ile başarısız olur. Çıkış kodları hakkında daha fazla bilgi için bkz. MTP çıkış kodları.
-
-a|--arch <ARCHITECTURE>Hedef mimariyi belirtir. Bu, sağlanan değerin varsayılan RID ile birleştirildiği Çalışma Zamanı Tanımlayıcısı'nı (RID) ayarlamak için bir kısaltma söz dizimidir. Örneğin, bir
win-x64makinede, belirterek--arch x86RID değerini olarakwin-x86ayarlar. Bu seçeneği kullanırsanız, seçeneğini kullanmayın-r|--runtime. .NET 6 Önizleme 7 sürümünden itibaren kullanılabilir. -
-c|--configuration <CONFIGURATION>Derleme yapılandırmasını tanımlar. Çoğu proje için varsayılan değer
Debug'dir, ancak project derleme yapılandırma ayarlarını geçersiz kılabilirsiniz. -f|--framework <FRAMEWORK>Testleri çalıştırmak için hedef çerçevenin hedef çerçeve adı (TFM). Hedef çerçeve de project dosyasında belirtilmelidir.
-
--os <OS>Hedef işletim sistemini (OS) belirtir. Bu, sağlanan değerin varsayılan RID ile birleştirildiği Çalışma Zamanı Tanımlayıcısı'nı (RID) ayarlamak için bir kısaltma söz dizimidir. Örneğin, bir
win-x64makinede, belirterek--os linuxRID değerini olaraklinux-x64ayarlar. Bu seçeneği kullanırsanız, seçeneğini kullanmayın-r|--runtime. .NET 6'dan beri kullanılabilir. -r|--runtime <RUNTIME_IDENTIFIER>Test etmek için hedef çalışma zamanı.
kısa form
-r.NET SDK 7'den itibaren kullanılabilir.Uyarı
Genel
RuntimeIdentifierözelliği olan bir çözüm için testleri çalıştırma (açıkça veya--archaracılığıyla ,--runtimeveya--os) desteklenmez. Bunun yerine tek bir project düzeyindeRuntimeIdentifierayarlayın.-
-v|--verbosity <LEVEL>Komutun ayrıntı düzeyini ayarlar. İzin verilen değerler ,
q[uiet],m[inimal],n[ormal]ved[etailed]diag[nostic]. Daha fazla bilgi için bkz. LoggerVerbosity. --no-buildTest project çalıştırılmadan önce derlenmediğini belirtir. Ayrıca
--no-restorebayrağını örtük olarak ayarlar.--no-restorekomutu çalıştırılırken örtük geri yüklemenin yürütüldüğünü belirtir.
--no-ansiANSI kaçış karakterlerinin ekrana çıkışını devre dışı bırakır.
--no-progressİlerleme durumunu ekrana raporlamayı devre dışı bırakır.
--output <VERBOSITY_LEVEL>Testleri bildirirken çıkış ayrıntı düzeyini belirtir. Geçerli değerler:
NormalveDetailed. Varsayılan değer:Normal.--no-launch-profileUygulamayı yapılandırmak için launchSettings.json kullanmayı denemeyin. Varsayılan olarak,
launchSettings.jsonortam değişkenlerini ve komut satırı bağımsız değişkenlerini test yürütülebilir dosyaya uygulayabilen kullanılır.--no-launch-profile-argumentsUygulamayı çalıştırmak için başlatma profilinde tarafından
commandLineArgsbelirtilen bağımsız değişkenleri kullanmayın.--property:<NAME>=<VALUE>Bir veya daha fazla MSBuild özelliği ayarlar. Seçeneği yineleyerek birden çok özellik belirtin:
--property:<NAME1>=<VALUE1> --property:<NAME2>=<VALUE2>Kısa form
-piçin--propertykullanılabilir. Aynı durum/property:property=valueiçin de geçerlidir ve kısa biçimi/p. Kullanılabilir bağımsız değişkenler hakkında daha fazla bilgiyi dotnet msbuild belgelerinde bulabilirsiniz.-
-?|-h|--helpkomutunun nasıl kullanılacağına ilişkin bir açıklama yazdırır.
argsTest uygulamalarına geçirecek ek bağımsız değişkenleri belirtir. Birden çok bağımsız değişkeni ayırmak için boşluk kullanın. Nelerin geçeceğime ilişkin daha fazla bilgi ve örnek için bkz. MTP'ye genel bakış ve MTP özellikleri.
Tavsiye
Belirli projeler için ek bağımsız değişkenler belirtmek için
TestingPlatformCommandLineArgumentsMSBuild özelliğini kullanın. Bu özellik, çözümünüz test çerçevelerini (örneğin, MSTest ve xUnit.net) karıştırdığında veya yalnızca bazı projeler belirli bir uzantıya başvurduğunda kullanışlıdır. Daha fazla bilgi için bkz. Karma test çerçeveleri veya uzantıları olan çözümler.
Uyarı
Bir dosyada izleme günlüğünü etkinleştirmek için DOTNET_CLI_TEST_TRACEFILE ortam değişkenini kullanarak izleme dosyasının yolunu sağlayın.
Bağımsız değişkenleri test uygulamasına iletme
dotnet test tanımadığı tüm belirteçleri test uygulamasına iletir. Tanınmayan bir seçenek adı ve değeri arasında tanınan bir seçenek göründüğünde, tanınan seçeneğin kaldırılması, kalan belirteçlerin test uygulamasındaki seçeneklere bağlanma şeklini değiştirebilir. Bu belirsizliği önlemek için, test uygulaması bağımsız değişkenlerini değişmez değerden --sonra yerleştirin:
dotnet test --results-directory TestResults -- --report-trx --report-trx-filename A.trx
Aynı ayrıştırıcı davranışı ve dotnet buildiçin dotnet run de geçerlidir. Ayrıntılı bir örnek için bkz. Başvuruda dotnet runbağımsız değişkenleri uygulamaya iletme.
Örnekler
Testleri geçerli dizindeki project veya çözümde çalıştırın:
dotnet testtestleri
TestProjectproject çalıştırın:dotnet test --project ./TestProject/TestProject.csprojtestleri
TestProjectsçözümünde çalıştırın:dotnet test --solution ./TestProjects/TestProjects.slnDerlemeyi kullanarak
TestProject.dlltestleri çalıştırın:dotnet test --test-modules "**/bin/**/Debug/net10.0/TestProject.dll"Kök dizinle
TestProject.dllderleme kullanarak testleri çalıştırın:dotnet test --test-modules "**/bin/**/Debug/net10.0/TestProject.dll" --root-directory "c:\code"Geçerli dizindeki testleri kod kapsamıyla çalıştırın:
dotnet test --coverageTestleri çalıştırın ve sonuçları belirli bir dizinde depolayın:
dotnet test --results-directory ./TestResultsTestleri belirli bir dizinde tanılama çıkışıyla çalıştırın:
dotnet test --diagnostic-output-directory ./DiagnosticsTestleri çalıştırarak en az 10 testin yürütülmesini sağlama:
dotnet test --minimum-expected-tests 10TestProjectiçin-bl(ikili günlük) bağımsız değişkenini sağlayarak testlerimsbuildproject çalıştırın:dotnet test --project ./TestProject/TestProject.csproj -bltestleri
TestProjectproject çalıştırın ve MSBuildDefineConstantsözelliğiniDEVolarak ayarlayın:dotnet test --project ./TestProject/TestProject.csproj -p:DefineConstants="DEV"