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_OR_TRAVERSAL_PATH>]
[--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>]
[--results-directory-layout <flat|per-module>]
[--diagnostic-output-directory <DIAGNOSTIC_OUTPUT_DIRECTORY>]
[--minimum-expected-tests <NUMBER>]
[--maximum-failed-tests <NUMBER>]
[--timeout <DURATION>]
[-e|--environment <NAME="VALUE">]
[-a|--arch <ARCHITECTURE>]
[--artifacts-path <ARTIFACTS_DIR>]
[-c|--configuration <CONFIGURATION>]
[-f|--framework <FRAMEWORK>]
[--os <OS>]
[-r|--runtime <RUNTIME_IDENTIFIER>]
[--use-current-runtime|--ucr]
[-v|--verbosity <LEVEL>]
[--no-build]
[--no-dependencies]
[--no-restore]
[--nologo|--no-logo|--no-banner]
[--no-ansi]
[--no-progress]
[--no-artifact-post-processing]
[--output <VERBOSITY_LEVEL>]
[--show-test-results <OUTCOME>]
[--list-tests [text|json]]
[--no-launch-profile]
[--no-launch-profile-arguments]
[--device <DEVICE_ID>]
[--list-devices]
[--collect-test-map]
[--affected-tests]
[<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.
Important
Uzantıya özgü seçenekler MTP'de yerleşik değildir. Hedeflenen her test uygulamasının bir seçenek sağlayan uzantıyı kaydetmesi gerekir. Uzantının NuGet paketini doğrudan ekleyin veya paketi içeren bir test SDK'sı yapılandırması veya profili kullanın. Aksi takdirde, seçenek tanınmadığından test çalıştırması çıkış kodu 5 ile başarısız olur. Seçili test uygulamalarında kullanılabilen seçenekleri görmek için komutunu çalıştırın dotnet test --help ve bir seçeneğin paketini bulmak için senaryoya göre uzantı seçenekleri'ne bakın.
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.
Sürüm gereksinimleri
MTP modu dotnet test için .NET 10 SDK ve MTP 1.7 veya üzeri gerekir. .NET 10'un ardından eklenen seçeneklerin aşağıdaki bölümlerde tek tek SDK sürümü gereksinimleri vardır. Her test uygulaması ilgili özelliği uygularken SDK tam çalıştırmayı koordine ettiğinden bazı seçenekler daha yeni bir MTP paketi gerektirir.
Ö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
Important
ile --no-restorebir proje veya çözüm çalıştırdığınızda, hem geri yükleme tarafından oluşturulan proje durumunu hem de obj eşleşen genel paketler klasörünü kullanılabilir durumda tutun. Test çerçevesi ve platform paketi içeri aktarmaları, MTP test uygulamalarını tanımlamak için kullanılan dotnet test MSBuild özelliklerini ayarlar. seçeneği --no-build de anlamına gelir --no-restore. Test ortamı yerleşik test uygulamaları içeriyorsa ancak proje geri yükleme durumunu içermiyorsa, bunun yerine kullanın --test-modules . Daha fazla bilgi için bkz. No test projects were found.
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, kullanırken --test-modules, , --configuration, , --device, --framework, --list-devices, --os, --runtimeveya --use-current-runtimebelirtemezsiniz--arch. Bu seçenekler proje değerlendirmesi gerektirir veya önceden oluşturulmuş bir modül için uygun değildir.
PROJECT_OR_TRAVERSAL_PATHÇalıştırılacak projeyi veya çapraz geçişi belirtir. .NET 11 Önizleme 7'den
dotnet testbaşlayarak, gibidirs.projprojeleri desteklerMicrosoft.Build.Traversalve başvuruda bulundukları test projelerini yinelemeli olarak çalıştırır..NET 12 Önizleme 1'den başlayarak, bağımsız değişken C# dosya tabanlı MTP test uygulamasını da tanımlayabilir. Dosya tabanlı test uygulamaları desteklemez
--device.--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. Bu seçenek projeleri değerlendirmediğinden, proje geri yükleme durumu kullanılamadığında önceden oluşturulmuş test uygulamalarını çalıştırmak için kullanın. .NET 11 Önizleme 6'dan başlayarak, eşleşen modülleri dışlamak için bir desen
!ön eki ekleyin. Birden çok deseni noktalı virgülle ayırın; her desenin etrafındaki boşluk yoksayılı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.
--results-directory-layout <flat|per-module>Çok modüllü çalıştırmanın sonuçları dizini altındaki dosyaları nasıl düzenlediğini belirtir. varsayılan değeri,
flattüm sonuçları aynı dizine yazar.per-moduleher modülün sonuçlarını<project>/<target-framework>_<runtime-or-architecture>dosyasına yazar ve bu da aynı dosya adına sahip raporların birbirinin üzerine yazılmasını engeller..NET 11 RC 1'den itibaren kullanılabilir.
--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>Çalıştırmanın tamamı için pozitif minimum test sayısını belirtir. Toplanan test sayısı belirtilen minimumdan azsa, test çalıştırması çıkış kodu 9 ile başarısız olur. Genel sayı atlanan testleri içerir. Çıkış kodları hakkında daha fazla bilgi için bkz. MTP çıkış kodları.
Bu seçenek öncesinde göründüğü için
--genel (tam çalıştırma) bir seçenektir. Bunun yerine her test modülü için en düşük değerin gerekli olmasını sağlamak için, seçeneği her test modülüne iletecek şekilde sonra--geçirin. Daha fazla bilgi için bkz. Tam çalıştırma ve modül başına minimum değerler.Uyarı
Genel minimum, .NET 10 SDK (10.0.100) veya sonraki bir sürümü gerektirir.
--maximum-failed-tests <NUMBER>Belirtilen sayıda başarısız, hatalı, zaman aşımına uğradıktan veya iptal edilen test sayısına ulaştıktan sonra çalıştırmanın tamamını durdurur. Çalıştırma 13 koduyla çıkar.
.NET 11 Preview 7'den itibaren kullanılabilir ve MTP 2.4 veya üzeri gerektirir.
--timeout <DURATION>En az bir test uygulaması çalışırken belirtilen süre sonunda çalıştırmanın tamamını durdurur. Pozitif bir sayıyı ve ardından ,
90s, ,10m2hveya1dgibi500msbir birim belirtin. Zaman aşımına uğradı, 3 koduyla çıkılır..NET 11 Preview 7'den itibaren kullanılabilir ve MTP 2.4 veya üzeri gerektirir.
-e|--environment <NAME="VALUE">Test işlemi için bir ortam değişkeni ayarlar. Birden çok değişken ayarlama seçeneğini birden çok kez belirtin. Komut satırı değerleri başlatma profilindeki değerleri geçersiz kılar.
Başlatma profili yoksa veya belirttiğinizde
--no-launch-profile.NET SDK 10.0.110 veya üzerini kullanın; önceki .NET 10 SDK sürümleri bu durumlarda değişkenleri yoksayabilir. .NET 11 Önizleme 7'den başlayarak değişkenler yetenek kullanan derleme, cihaz seçimi, dağıtım ve çalıştırma bağımsız değişken hedeflerine de akar.-
-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. -
--artifacts-path <ARTIFACTS_DIR>Yürütülen komuttaki tüm derleme çıktı dosyaları, projeyle ayrılmış olarak belirtilen yolun altındaki alt klasörlere gider. Daha fazla bilgi için bkz . Yapıt Çıktı Düzeni. Bu seçenek ve sağlanan değer, ve kullanırken
dotnetdotnetbaşka bir komutun çıkışına bağlı olan herhangi birdotnet build --no-restoredotnet publish --no-buildkomutta açıkça basamaklandırılmalıdır. .NET 8 SDK'dan itibaren kullanılabilir..NET 11 ile başlayan MTP modu için 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.--use-current-runtime|--ucrGeri yükleme ve derleme sırasında hedef çalışma zamanı olarak geçerli çalışma zamanını kullanır.
.NET 11 Önizleme 6'dan itibaren kullanılabilir. Bu seçeneği ile
--test-modulesbirleştiremezsiniz.-
-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-dependenciesProjeden projeye başvuruları derlemeyi atlar.
.NET 11 Önizleme 6'dan itibaren kullanılabilir.
--no-restorekomutu çalıştırılırken örtük geri yüklemenin yürütüldüğünü belirtir.
--nologo|--no-logo|--no-banner.NET ve MTP başlangıç başlıklarını gizler.
-nologove/nologoformları veDOTNET_NOLOGOortam değişkeni de desteklenir..NET 11 Preview 7 ile başlayan MTP modunda kullanılabilir.
--no-ansiANSI kaçış karakterlerinin ekrana çıkışını devre dışı bırakır.
--no-progressİlerleme durumunu ekrana raporlamayı devre dışı bırakır.
--no-artifact-post-processingÇok modüllü bir çalıştırmadan sonra uyumlu yapıtların işlenmesini devre dışı bırakır. .NET 11 RC 1 ve MTP 2.4'den başlayarak, kayıtlı yapıt son işlemcileri TRX sonuçları gibi uyumlu raporları birleştirebilir. İşlem sonrası başarısız olursa SDK, özgün yapıtları ve test çıkış kodunu korur.
--output <VERBOSITY_LEVEL>Test sonuçları için çıkış ayrıntı düzeyini belirtir. Geçerli değerler:
Minimal,NormalveDetailed. Varsayılan değer:Normal.MinimalMTP 2.4 önizlemesi gerektirir.--show-test-results <OUTCOME>Sonuca göre sonuç bloklarını seçer. MTP 2.4 önizlemesinde , ,
failedskipped,allveyanonekullanınpassed. Değerfailedayrıca hataları, zaman aşımlarını ve iptalleri de içerir.,
failedveskippedseçeneklerini virgül, boşluk veya yinelenen--show-test-resultsseçeneklerle birleştirinpassed. Veyanonedeğerini başka bir değerle birleştirmeyinall. Bu açık seçenek, seçenek sırasına--outputbakılmaksızın ön ayarı geçersiz kılar.--list-tests [text|json]Bulunan testleri yürütülmeden listeler. Değeri atlar veya insan tarafından okunabilir çıkış için belirtin
text. .NET 11 Önizleme 7'den başlayarak testleri derleme, hedef çerçeve ve mimariye göre gruplandıran ve kullanılabilir tanımlayıcıları, kaynak konumları, yöntemleri, parametreleri ve özellikleri içeren sürümlü bir JSON belgesi belirtinjson.--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.--device <DEVICE_ID>Android veya iOS test projesindeki her hedef çerçeve için bir cihaz, öykünücü veya simülatör seçer. MTP yolu macOS ve Mac Catalyst test projelerini de destekler. Giriş etkileşimliyse ve birden fazla cihaz kullanılabiliyorsa,
dotnet testbir cihaz seçmenizi isteyebilir..NET 11 Önizleme 6'dan itibaren kullanılabilir. Çok hedefli projeler için .NET 11 RC 2 veya sonraki bir sürümü kullanın, böylece cihaz bulma her hedef çerçeveyi doğru şekilde değerlendirir. Tarayıcı WebAssembly test projeleri bu seçenek tarafından desteklenmez.
--list-devicesTestleri çalıştırmadan bir proje için kullanılabilir cihazları listeler. Çözüm yerine proje belirtin.
.NET 11 Önizleme 7'den itibaren kullanılabilir.
--collect-test-mapve--affected-testsBir depo test haritası toplayın veya değişiklikten etkilenen testleri çalıştırın. Bu deneysel seçenekler ayrı olarak dağıtılmış bir uzantı ve
DOTNET_CLI_ENABLE_AFFECTED_TESTS=1ortam değişkeni gerektirir. İki seçeneği birleştiremezsiniz. Etkilenen test iş akışları cihaz testlerini, paralel test modüllerini veya en düşük test ilkelerini de desteklemez..NET 11 RC 1'den itibaren kullanılabilir.
--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.
.NET 11 RC 1'den başlayarak, dotnet test -bl çok projeli, çok hedefli ve cihaz çalıştırmaları için bir MSBuild oturumu kullanır, böylece ikili günlük tam derlemeyi içerir.
Çıkış ve iptal davranışı
.NET 11 Önizleme 6'dan başlayarak etkileşimli ANSI çıkışı, çalışmakta olan testleri ve derleme başına test sayılarını raporlar. Çıkış yeniden yönlendirildiğinde, ANSI veya ilerleme durumu çıkışı devre dışı bırakıldığında veya ortam etkileşimli olmadığında ilerleme durumu görüntüsü devre dışı kalır.
.NET 11 Önizleme 6'dan başlayarak, ilk Ctrl+C yeni test uygulamalarını zamanlamayı durdurur ve işbirliğiyle iptal isteğinde bulunur. Alt işlemleri hemen sonlandırmak için Ctrl+C tuşuna yeniden basın. Durdurulan bir çalıştırma 3 koduyla çıkar.
Canlı test konağı çıkışı, protokol 1.1 veya üzerini destekleyen bir MTP konağı gerektirir. Eski konaklar çıkışın yakalanmasını sağlar ve başarısız bir modül için yeniden oynatır. .NET 11 Önizleme 7'den başlayarak, hata özetleri yakalanan standart çıkışı ilk 30 ve son 10 satıra kadar 40 satırdan uzun bir süre keser; tanılama günlükleri çıkışın tamamını korur.
Çok modüllü çalıştırmalar için, dotnet test .NET 11 Preview 7 ile başlayan tam çalıştırma boyunca sıfır test sonucunu değerlendirir. Test içermeyen bir modül, açık bir minimum test ilkesi daha fazla test gerektirmediği sürece başka bir modül testleri başarıyla yürütürse çalıştırmayı başarısız yapmaz.
Sonuçlar ve yapıtlar
SDK yapıtları çıkış düzeni etkinleştirildiğinde, .NET 11 RC 1 ve sonraki sürümler MTP raporlarını, kapsam dosyalarını ve tanılamaları varsayılan olarak altına <ArtifactsPath>/test/<project>/<pivot> yerleştirir. Açık --results-directory veya --results-directory-layout önceliklidir.
.NET 11 RC 1 ve MTP 2.4'ten başlayarak, uyumlu uzantılar çok modüllü bir çalıştırmadan yapıtları işleyebilir. Örneğin TRX uzantısı modül başına raporları korurken birleştirilmiş rapor oluşturabilir. Uzantı ve rapor gereksinimleri için bkz. MTP test raporları.
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
Yukarıdaki örnek, doğrudan paket başvurusu olarak veya onu içeren bir test SDK yapılandırması aracılığıyla paketi gerektirir Microsoft.Testing.Extensions.TrxReport .
Aynı ayrıştırıcı davranışı ve dotnet runiçin dotnet build de geçerlidir. Ayrıntılı bir örnek için bkz. Başvuruda dotnet run.
Tam çalıştırma ve modül başına minimum değerler
için --minimum-expected-tests, -- ayırıcı seçeneğin kapsamını belirler:
-
Önceki
--bağımsız değişkenler geneldir. Düzenleyicidotnet testbunları çalıştırmanın tamamı için yorumlar. -
Sonraki
--bağımsız değişkenler yereldir.dotnet testher bir test modülüne ilettiği için her modül bunları bağımsız olarak uygular.
--minimum-expected-tests Her iki kapsamda da kullanılabildiğinden, çalıştırmanın tamamı için, her modül için veya her ikisi için en düşük değeri gerektirebilirsiniz:
dotnet test --minimum-expected-tests 5 -- --minimum-expected-tests 2
Yukarıdaki komut, çalıştırmanın tamamında en az 5 test ve her test modülünde en az 2 test gerektirir.
İki kapsam sayısı testleri farklı şekilde atladı:
| Scope | Atlanan testler en düşük değere doğru sayılır mı? |
|---|---|
| Küresel | Yes. Toplanan dotnet test toplam, atlanan testleri içerir. |
| Modül başına | No. MTP, atlanan testleri çalıştırılan test sayısından dışlar. |
.NET 11 SDK'sından başlayarak, toplam sonuçlardan çalıştırmanın tamamı için sıfır test kararı bir kez belirlenir. Örneğin veya genel --filterbir öğesinden dolayı --test-modules hiçbir testle eşleşmemiş bir modül 8 ()ZeroTests koduyla çıkılır, ancak sonuçlar toplanmadan önce bu kod başarılı olacak şekilde normalleştirilir. Sonuç olarak, tek bir boş modül tüm çalıştırmayı başarısız yapmaz, ancak modül görünürlük için tanılamayı Exit code: 8 çıktıda tutar.
MTP 4.3.0 ve sonraki sürümleri sağlar --zero-tests-policy <allow-skipped|strict>. varsayılan değeri, allow-skippedtümü atlanan bir modülün başarılı olduğunu sağlar.
strict değeri atlanan testleri çalıştırılmamış olarak kabul eder, bu nedenle tümü atlanan modül 8 koduyla çıkar. Her test modülüne iletmek için seçeneği sonra -- geçirin:
dotnet test -- --zero-tests-policy strict
Genel bir minimum ayarlamadığınızda, .NET 11 SDK'sı tam çalıştırma sıfır testi kararını ayrı olarak belirler. Tümü atlanan tüm çalıştırma, modül --zero-tests-policy başına değerden bağımsız olarak kod 8 ile çıkar.
Belirttiğinizde --minimum-expected-tests ve minimum değer karşılanmadığında, çalıştırma 9 (MinimumExpectedTestsPolicyViolation çıkış koduyla başarısız olur). Bu kod 8'den farklıdır, böylece daha katı bir genel veya modül başına minimum değer boş bir modülle karıştırılmamalıdır. Modül sıfır test çalıştırdığında modül başına en düşük değerin 9 kodunu döndürmesi için, test modülünün MTP 4.4.0 veya sonraki bir sürümünü kullanması gerekir.
Uyarı
--minimum-expected-tests 0 geçersiz. Sıfır test çıkış kodunu bastırmak için kullanın --ignore-exit-code 8.
.NET 11 Preview 6, --tl, --terminalloggerve --tlp sürümünden başlayarak test uygulaması yerine MSBuild'e iletilir. .NET 12 Önizleme 1'den başlayarak, tanınan -mt ve -multiThreaded formlar da MSBuild'e iletilir. Bu adlardan birine sahip bir uygulama seçeneği geçirmek için öğesinin arkasına --yerleştirin.
ve --list-tests gibi --help yürütme modu seçeneklerini doğrudan öğesine geçirindotnet test. .NET 11 Önizleme 6'dan başlayarak SDK, test uygulamasıyla anlaşmaya varılan yürütme modunu doğrular. Başlatma profili veya TestingPlatformCommandLineArguments bu seçeneklerden birini eklerse, istenen SDK işlemi ve uygulama işlemi eşleşmiyor ve çalıştırma bir tanılama ile başarısız oluyor.
Ö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".NET 11 Preview 7 veya sonraki bir sürümüyle çapraz geçiş projesi tarafından başvuruda bulunan tüm test projelerini çalıştırın:
dotnet test dirs.projtestleri .NET 11 Preview 7 veya sonraki sürümleriyle JSON olarak listeleyin:
dotnet test --list-tests json.NET 12 Preview 1 veya sonraki sürümleriyle C# dosya tabanlı bir MTP test uygulaması çalıştırın:
dotnet test App.Tests.csTestleri geçerli dizinde Microsoft Kod Kapsamı uzantısıyla çalıştırın. Test uygulaması, doğrudan veya onu içeren bir test SDK yapılandırması aracılığıyla öğesine başvurmalıdır
Microsoft.Testing.Extensions.CodeCoverage: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 10Çalıştırmanın tamamında en az 5 test ve her test modülünde en az 2 test gerektir:
dotnet test --minimum-expected-tests 5 -- --minimum-expected-tests 2TestProjectiç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"