Aracılığıyla paylaş


Microsoft.Testing.Platform (MTP) ile dotnet testi

Bu makale şunlar için geçerlidir: .NET 10 SDK ve sonraki sürümleri ✔️

İsim

dotnet test - Microsoft.Testing.Platform ile birim testleri 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>]
    [-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

Microsoft Test Platformu ile dotnet test VSTest'ten daha hızlı çalışır. Test projelerindeki kayıtlı uzantılara bağlı olduklarından testle ilgili bağımsız değişkenler artık sabit değildir. Ayrıca, MTP testleri çalıştırırken globbing filtresini destekler. Daha fazla bilgi için bkz . Microsoft.Testing.Platform.

Uyarı

Microsoft.Testing.Platform global.jsonaracılığıyla kabul edildiğinde dotnet test tüm test projelerinin Microsoft.Testing.Platform 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.

komutu, geri yüklemenin anlamlı olduğu bazı senaryolarda hala yararlıdır, örneğin Azure DevOps Services'teki sürekli tümleştirme derlemeleri veya geri yüklemenin ne zaman gerçekleştiğini açıkça kontrol etmesi gereken derleme sistemlerinde.

NuGet akışlarını yönetme hakkında bilgi için belgelerine bakın.

Options

Uyarı

Aynı anda aşağıdaki seçeneklerden yalnızca birini kullanabilirsiniz: --project, --solutionveya --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 proje 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>

    .NET'te dosya genelleme kullanarak test modüllerini filtreler. Yalnızca bu test modüllerine ait testler çalıştırılır. .NET'te dosya genelleme özelliğini kullanma hakkında daha fazla bilgi ve örnek için bkz. Dosya globbing.

  • --root-directory <ROOT_PATH>

    --test-modules seçeneğinin kök dizinini belirtir. Yalnızca --test-modules seç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.

  • -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-x64 makinede, belirterek --arch x86 RID değerini olarak win-x86ayarlar. Bu seçeneği kullanırsanız, seçeneğini kullanmayın -r|--runtime . .NET 6 Preview 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 şeklindedir Debug, ancak projenizdeki 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 proje 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-x64 makinede, belirterek --os linux RID değerini olarak linux-x64ayarlar. Bu seçeneği kullanırsanız, seçeneğini kullanmayın -r|--runtime . .NET 6'dan itibaren kullanılabilir.

  • -r|--runtime <RUNTIME_IDENTIFIER>

    Test etmek için hedef çalışma zamanı.

    .NET SDK 7'den başlayarak kısa form -r 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 proje düzeyinde ayarlayın RuntimeIdentifier .

  • -v|--verbosity <LEVEL>

    Komutun ayrıntı düzeyini ayarlar. İzin verilen değerler , q[uiet], m[inimal], n[ormal]ve d[etailed]diag[nostic]. Daha fazla bilgi için bkz. LoggerVerbosity.

  • --no-build

    Test projesinin çalıştırılmadan önce derlenmediğini belirtir. Ayrıca --no-restore bayrağını örtük olarak ayarlar.

  • --no-restore

    komutu çalıştırılırken örtük geri yüklemenin yürütüldüğünü belirtir.

  • --no-ansi

    ANSI 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: Normal ve Detailed. Varsayılan değer: Normal.

  • --no-launch-profile

    Uygulamayı yapılandırmak için launchSettings.json kullanmayı denemeyin. Varsayılan olarak, launchSettings.json ortam 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-arguments

    Uygulamayı çalıştırmak için başlatma profilinde tarafından commandLineArgs belirtilen 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 -p için --propertykullanılabilir. Aynı durum /property:property=value iç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|--help

    komutunun nasıl kullanılacağına ilişkin bir açıklama yazdırır.

  • args

    Test 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çirilip geçirİlmeyenlerle ilgili daha fazla bilgi ve örnek için bkz. Microsoft.Testing.Platform'a genel bakış ve Microsoft.Testing.Platform uzantıları.

    Tavsiye

    Belirli projeler için ek bağımsız değişkenler belirtmek için TestingPlatformCommandLineArguments MSBuild özelliğini kullanın.

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.

Örnekler

  • Testleri geçerli dizindeki projede veya çözümde çalıştırın:

    dotnet test
    
  • Projede TestProject testleri çalıştırın:

    dotnet test --project ./TestProject/TestProject.csproj
    
  • testleri TestProjects çözümünde çalıştırın:

    dotnet test --solution ./TestProjects/TestProjects.sln
    
  • Derlemeyi kullanarak TestProject.dll testleri çalıştırın:

    dotnet test --test-modules "**/bin/**/Debug/net10.0/TestProject.dll"
    
  • Kök dizinle TestProject.dll derleme 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 --coverage
    
  • için (ikili günlük) bağımsız değişkenini TestProject-blsağlayarak testleri projede msbuild çalıştırın:

    dotnet test --project ./TestProject/TestProject.csproj -bl
    
  • MSBuild TestProject özelliğini DefineConstantsolarak ayarlayarak projede DEV testleri çalıştırın:

    dotnet test --project ./TestProject/TestProject.csproj -p:DefineConstants="DEV"
    

Ayrıca bakınız