Dela via


Testkörning med snabb uppdatering

Testkörningar i Visual Studio innebär att du skapar projektet för att uppdatera binärfilerna på disken innan du använder Test Platform för att köra dina tester. Byggtiden i Visual Studio kan variera beroende på vilken typ av ändringar som görs i koden. För större lösningar kan byggen vara den dyraste delen av testkörningen. I Visual Studio 2022 och senare kan testkörning med frekvent omläsning aktiveras för att påskynda testkörningen genom att hoppa över versioner för scenarier som stöds.

Vad stöds?

  • C#- och VB-projekt för .NET 6.0 och senare
  • Testprojekt som skapats för FELSÖKNINGskonfigurationen
  • Visual Studio 2022 och senare

Aktivera testkörning med snabbladdning

Aktivera den här funktionen genom att välja Test>Alternativ>"(Experimentell) Aktivera testkörningar med dynamisk inläsning för C# och VB-testprojekt som riktar sig till .NET 6 och senare". Skärmbild av knappen Aktivera snabb inlästa testkörningar på sidan Testalternativ för Visual Studio. När detta har valts använder testkörningen frekvent omläsning för scenarier som stöds

Varför är det experimentellt?

Det här är ett nytt sätt att köra tester där vi ändrar en sökväg som används ofta för att verifiera kod. Vi förväntar oss också att användarupplevelsen kring den här funktionen ändras när vi får mer feedback från användare. Av dessa två skäl har vi för närvarande märkt den här funktionen som "experimentell".

Så här fungerar det

När alternativet är aktiverat använder Test Explorer automatiskt testkörning med frekvent omläsning när det är möjligt. Om en frekvent omladdning inte är möjlig återgår den till det vanliga beteendet att skapa och köra tester. Som användare som kör tester behöver du inte göra några ändringar i arbetsflödet (det vill: fortsätt att redigera kod och köra tester).

Under ytan använder vi samma Redigera och fortsätt-infrastruktur som finns i den nyligen släppta Hot Reload-upplevelsen för att redigera C#/VB-kod vid körningstid för att fastställa vilka ändringar som gjorts. Vi laddar om av den anledningen bara när det inte finns några större förändringar, i vilket fall vi återgår till att bygga dina tester innan vi kör dem. Mer information om redigeringar som stöds finns i dokumentationen redigera och fortsätt

Hur mycket snabbare blir testkörningen?

Det finns många variabler som spelar in när du beräknar hur mycket tid den här funktionen kommer att spara dig. Till exempel:

  • Hur lång tid det tar att bygga projektet.
  • Vilken typ av redigering gjordes.
  • Hur stor filen är där redigeringen gjordes.
  • Var redigeringen gjordes (om det var ett lövprojekt eller inte).

I slutändan kommer hastighetsförbättringarna att vara direkt relaterade till den byggtid som skulle ha inträffat i den specifika testkörningen.

Noteringar

  • Den första testkörningen efter att du har aktiverat alternativet eller öppnat Visual Studio kommer att kräva en projektkompilering.
  • Filer i redigeraren kanske inte sparas när tester körs. Åtgärda dessa problem och innan du checkar in, säkerställ att du gör en fullständig kompilering (Ctrl+Skift+B).
  • Binärfilerna på disken uppdateras inte när testkörningen med frekvent omläsning sker.
  • Testkörning med frekvent omläsning fungerar inte med "Test>Kör alla tester", "Kör alla tester i vyn" i Testutforskaren och fungerar inte heller med Kör alla tester från lösningsnoden i Solution Explorer. Funktionen fungerar inte med dessa kommandon eftersom de för närvarande garanterar att hela lösningen skapas.
  • När tester med målramverk som inte stöds (lägre än .NET 6.0) körs, sker en projektkompilering.
  • Om du ser några inkonsekvenser mellan vad som finns på disken och vad Test Explorer visar bör du överväga en lösning/projektversion med Ctrl+Skift+B och sedan köra tester. Alla explicita versioner ersätter testresultaten för frekvent omlastning med de vanliga fullversionstestresultaten.

Kända problemområden

  • Testkörning med hot reload sker inte i följande scenarier:
    • Kodtäckning
    • Testning av liveenheter
    • Profilering
    • Felsökning
  • Stackspårningar kanske inte kan läsas med förekomst av oläsbara token. Det här problemet spåras här och planeras för en korrigering i .NET 7.0
    • Den rekommenderade lösningen i det här fallet är att skapa projektet och köra testet igen.

Din feedback är viktig

Som tidigare nämnts kräver vi din feedback för att den här experimentella funktionen ska vara klar. Om du har ett förslag på hur upplevelsen ska vara, eller stöter på problem, kan du ta en stund att rapportera problem till oss. Endast med din feedback kan vi se till att kritiska problem löses och att framtida beslut prioriteras baserat på dina indata.

Använd feedbackmekanismen för Visual Studio för att nå oss.