Hantera flagnande tester
Azure DevOps Services
Produktivitet för utvecklare är beroende av testernas förmåga att hitta verkliga problem med koden under utveckling eller uppdatering på ett snabbt och tillförlitligt sätt. Flagnande tester utgör ett hinder för att hitta verkliga problem, eftersom felen ofta inte relaterar till de ändringar som testas. Ett flagnande test är ett test som ger olika resultat, till exempel pass eller fail, även om det inte finns några ändringar i källkods- eller körningsmiljön. Flagnande tester påverkar också kvaliteten på levererad kod.
Kommentar
Den här funktionen är endast tillgänglig i Azure DevOps Services. Normalt introduceras nya funktioner i molntjänsten först och görs sedan tillgängliga lokalt i nästa huvudversion eller uppdatering av Azure DevOps Server. Mer information finns i Tidslinje för Azure DevOps-funktioner.
Målet med att få flagnande testhantering i produkten är att minska utvecklarens smärta genom flagnande tester och tillgodose hela arbetsflödet. Flådd testhantering ger följande fördelar.
Identifiering – Automatisk identifiering av flagnande test med omkörning eller utökningsbarhet för att ansluta din egen anpassade identifieringsmetod
Hantering av flakiness – När ett test har markerats som flagnande är data tillgängliga för alla pipelines för den grenen
Rapport om flagnande tester – Möjlighet att välja om du vill förhindra byggfel som orsakas av flagnande tester eller använda den flagnande taggen endast för felsökning
Lösning – Manuellt felskapande eller manuell markering och avmarkeringstest som flagnande baserat på din analys
Stäng loopen – Återställ det flagnande testet till följd av felmatchning/manuella indata
Aktivera flagnande testhantering
Om du vill konfigurera flagnande testhantering väljer du Projektinställningar och väljer Testhantering i avsnittet Pipelines .
Dra knappen På/Av till På.
Standardinställningen för alla projekt är att använda flagnande tester för felsökning.
Fläckig testidentifiering
Flagnande testhantering stöder system- och anpassad identifiering.
Systemidentifiering: Den produktbaserade fläckiga identifieringen använder testkörningsdata. Identifieringen sker via VSTest-uppgiftskörning av funktionen för misslyckade tester eller ett nytt försök av fasen i pipelinen. Du kan välja specifika pipelines i projektet som du vill identifiera flagnande tester för.
Kommentar
När ett test har markerats som flagnande är data tillgängliga för alla pipelines för den grenen för att hjälpa till med felsökning i varje pipeline.
Anpassad identifiering: Du kan integrera din egen rökiga identifieringsmekanism med Azure Pipelines och använda rapporteringsfunktionen. Med anpassad identifiering måste du uppdatera testresultatmetadata för flagnande tester. Mer information finns i Testresultat, Resultatmetadata – Uppdatera REST API.
Alternativ för flagnande test
Alternativen för flagnande test anger hur flagnande tester är tillgängliga i testrapportering och lösningsfunktioner, enligt beskrivningen i följande avsnitt.
Flådd testhantering och rapportering
På sidan Testhantering under Flagnande testalternativ kan du ange alternativ för hur flagnande tester ingår i testsammanfattningsrapporten. Flagnande testdata för både godkänt och misslyckat test finns i Testresultat. Taggen Flaky hjälper dig att identifiera flagnande tester. Som standard ingår flagnande tester i testsammanfattningen. Men om du vill se till att felaktiga testfel inte misslyckas i pipelinen kan du välja att inte inkludera dem i testsammanfattningen och förhindra testfelet. Det här alternativet säkerställer att flagnande tester (både godkända och misslyckade) tas bort från passprocenten och visas i Tester som inte rapporteras, som visas i följande skärmbild.
Kommentar
Testsammanfattningsrapporten uppdateras endast för Visual Studio-testaktiviteten och publicera testresultat. Du kan behöva lägga till ett anpassat skript för att förhindra flagnande testfel för andra scenarier.
Tester markerade som flagnande
Du kan markera eller avmarkera ett test som flagnande baserat på analys eller kontext genom att välja Flagnande (eller UnFlaky, beroende på om testet redan har markerats som flagnande.)
När ett test har markerats som flagnande eller olaky i en pipeline görs inga ändringar i den aktuella pipelinen. Endast vid framtida körningar av testet utvärderas den ändrade flagnande inställningen. Tester som markerats som flagnande har taggen Märkt flagnande i användargränssnittet.
Hjälp och support
- Se vår felsökningssida
- Få råd om Stack Overflow och få support via utvecklarcommunityn