Dela via


dotnet-test med Microsoft.Testing.Platform (MTP)

Den här artikeln gäller för: ✔️ .NET 10 SDK och senare versioner

Namn

dotnet test – .NET-testdrivrutin som används för att köra enhetstester med Microsoft.Testing.Platform.

Sammanfattning

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

Med Microsoft Testing Platform fungerar dotnet test snabbare än med VSTest. De testrelaterade argumenten är inte längre fasta eftersom de är knutna till de registrerade tilläggen i testprojekten. Dessutom stöder MTP ett globbningsfilter när du kör tester. Mer information finns i Microsoft.Testing.Platform.

Varning

När Microsoft.Testing.Platform har valts via global.jsonförväntar dotnet test att alla testprojekt använder Microsoft.Testing.Platform. Det är ett fel om något av testprojekten använder VSTest.

Implicit återställning

Du behöver inte köra dotnet restore eftersom den körs implicit av alla kommandon som kräver en återställning, till exempel dotnet new, dotnet build, dotnet run, dotnet test, dotnet publishoch dotnet pack. Om du vill inaktivera implicit återställning använder du alternativet --no-restore.

Kommandot dotnet restore är fortfarande användbart i vissa scenarier där det är meningsfullt att uttryckligen återställa, till exempel kontinuerliga integreringsversioner i Azure DevOps Services eller i byggsystem som uttryckligen behöver styra när återställningen sker.

Information om hur du hanterar NuGet-feeds finns i dotnet restore dokumentationen.

Options

Anmärkning

Du kan bara använda något av följande alternativ i taget: --project, --solution, eller --test-modules. De här alternativen kan inte kombineras. När du använder --test-moduleskan du inte heller ange --arch, --configuration, --framework, --oseller --runtime. De här alternativen är inte relevanta för en redan inbyggd modul.

  • --project <PROJECT_PATH>

    Anger sökvägen till projektfilen som ska köras (mappnamn eller fullständig sökväg). Om det inte anges används den aktuella katalogen som standard.

  • --solution <SOLUTION_PATH>

    Anger sökvägen till lösningsfilen som ska köras (mappnamn eller fullständig sökväg). Om det inte anges används den aktuella katalogen som standard.

  • --test-modules <EXPRESSION>

    Filtrerar testmoduler med hjälp av filglädje i .NET. Endast tester som hör till dessa testmoduler körs. Mer information och exempel på hur du använder filbläddring i .NET finns i File globbing.

  • --root-directory <ROOT_PATH>

    Anger rotkatalogen för alternativet --test-modules. Den kan bara användas med alternativet --test-modules.

  • --max-parallel-test-modules <NUMBER>

    Anger det maximala antalet testmoduler som kan köras parallellt. Standardvärdet är Environment.ProcessorCount.

  • -a|--arch <ARCHITECTURE>

    Anger målarkitekturen. Det här är en kortsyntax för att ange Körtidsidentifierare (RID) där det angivna värdet kombineras med standard-RID. På en win-x64 dator anger du --arch x86 till exempel RID till win-x86. Om du använder det här alternativet ska du inte använda alternativet -r|--runtime . Tillgänglig sedan .NET 6 Förhandsversion 7.

  • -c|--configuration <CONFIGURATION>

    Definierar byggkonfigurationen. Standardvärdet för de flesta projekt är Debug, men du kan åsidosätta konfigurationsinställningarna för bygget i projektet.

  • -f|--framework <FRAMEWORK>

    Målramverkets moniker (TFM) för målramverket som ska köras tester för. Målramverket måste också anges i projektfilen.

  • --os <OS>

    Anger måloperativsystemet (OS). Det här är en kortsyntax för att ange Körtidsidentifierare (RID) där det angivna värdet kombineras med standard-RID. På en win-x64 dator anger du --os linux till exempel RID till linux-x64. Om du använder det här alternativet ska du inte använda alternativet -r|--runtime . Tillgänglig sedan .NET 6.

  • -r|--runtime <RUNTIME_IDENTIFIER>

    Målkörningen som ska testas för.

    Kort formulär -r tillgängligt från och med .NET SDK 7.

    Anmärkning

    Det går inte att köra tester för en lösning med en global RuntimeIdentifier egenskap (explicit eller via --arch, --runtimeeller --os). Ange RuntimeIdentifier på en enskild projektnivå i stället.

  • -v|--verbosity <LEVEL>

    Anger kommandots verbositetsnivå. Tillåtna värden är q[uiet], m[inimal], n[ormal], d[etailed]och diag[nostic]. Mer information finns i LoggerVerbosity.

  • --no-build

    Anger att testprojektet inte skapas innan det körs. Den anger också implicit flaggan --no-restore.

  • --no-restore

    Anger att en implicit återställning inte körs när kommandot körs.

  • --no-ansi

    Inaktiverar utdata från ANSI-escape-tecken till skärm.

  • --no-progress

    Inaktiverar rapporteringsstatus till skärm.

  • --output <VERBOSITY_LEVEL>

    Anger utdataverositeten när du rapporterar tester. Giltiga värden är Normal och Detailed. Standardvärdet är Normal.

  • --no-launch-profile

    Försök inte att använda launchSettings.json för att konfigurera programmet. Används som standard launchSettings.json , vilket kan tillämpa miljövariabler och kommandoradsargument på det körbara testet.

  • --no-launch-profile-arguments

    Använd inte argument som anges av commandLineArgs i startprofilen för att köra programmet.

  • --property:<NAME>=<VALUE>

    Anger en eller flera MSBuild-egenskaper. Ange flera egenskaper genom att upprepa alternativet:

    --property:<NAME1>=<VALUE1> --property:<NAME2>=<VALUE2>
    

    Det korta formuläret -p kan användas för --property. Detsamma gäller för /property:property=value och dess korta formulär är /p. Mer information om tillgängliga argument finns i dokumentationen för dotnet msbuild.

  • -?|-h|--help

    Skriver ut en beskrivning av hur du använder kommandot.

  • args

    Anger extra argument som ska skickas till testprogram. Använd ett blanksteg för att separera flera argument. Mer information och exempel på vad som ska skickas finns i Microsoft.Testing.Platform-översikt och Microsoft.Testing.Platform-tillägg.

    Tips/Råd

    Om du vill ange extra argument för specifika projekt använder du egenskapen TestingPlatformCommandLineArguments MSBuild.

Anmärkning

Om du vill aktivera spårningsloggning till en fil använder du miljövariabeln DOTNET_CLI_TEST_TRACEFILE för att ange sökvägen till spårningsfilen.

Examples

  • Kör testerna i projektet eller lösningen i den aktuella katalogen:

    dotnet test
    
  • Kör testerna TestProject i projektet:

    dotnet test --project ./TestProject/TestProject.csproj
    
  • Kör testerna i den TestProjects lösningen:

    dotnet test --solution ./TestProjects/TestProjects.sln
    
  • Kör testerna med hjälp av TestProject.dll sammansättning:

    dotnet test --test-modules "**/bin/**/Debug/net10.0/TestProject.dll"
    
  • Kör testerna med hjälp av TestProject.dll sammansättning med rotkatalogen:

    dotnet test --test-modules "**/bin/**/Debug/net10.0/TestProject.dll" --root-directory "c:\code"
    
  • Kör testerna i den aktuella katalogen med kodtäckning:

    dotnet test --coverage
    
  • Kör testerna TestProject i projektet och ange -bl argumentet (binär logg) till msbuild:

    dotnet test --project ./TestProject/TestProject.csproj -bl
    
  • Kör testerna TestProject i projektet och ange egenskapen MSBuild DefineConstants till DEV:

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

Se även