Een tag selecteert tests. Hij bewijst geen dekking.
Behandel suitefilters als een expliciete selectieafspraak en benoem wat buiten de run blijft.

Vertaalde editie. Technische identificatiegegevens blijven in hun oorspronkelijke vorm.

Een pipeline draait @critical en wordt groen. Iemand noemt dat volledige regressiedekking. De tag selecteerde een subset, zonder te bewijzen dat alle belangrijke trajecten erin zaten. Selectiemechanisme en risico-oordeel verschillen.
Deze gids volgt Playwrights annotatiedocumentatie met twee verzonnen lokale tests, voor een kleine review en bredere inspectie. Geen echte pipelineprestatie of dekkingspercentage. Lidmaatschap wordt zichtbaar vóór interpretatie.
Definieer de betekenis van de tag
Playwright ondersteunt tags in details of titel. Ze beginnen met @ en filteren tests. Een teamconventie heeft een korte betekenis, bijvoorbeeld een afgesproken set voor een bepaalde wijzigingsgrens.
Laat @critical niet telkens iets anders betekenen. Benoem regeleigenaar, opgenomen trajecten en bewuste uitsluitingen. Tekst toevoegen is makkelijk; lidmaatschap onderbouwen is het werk.
import { test, expect } from '@playwright/test';
test('demo title contract', { tag: '@demo-review' }, async () => {
expect('Demo review').toBe('Demo review');
});
test('demo archive contract', { tag: '@demo-wide' }, async () => {
expect(['draft', 'archive']).toContain('archive');
});De voorbeelden tonen metadata en selectie, geen app of bruikbare productdekking. Bekijk de lijst vóór uitvoering:
npx playwright test demos/selection.spec.mjs --grep @demo-review --listLokaal wordt alleen het titelcontract geselecteerd. De run slaagt voor één verzonnen assertie. Het uitgesloten archiefcontract telt niet als uitgevoerd bewijs, ook al staat het in de bron.
Scheid selectie, overslaan en verwacht falen
skip en fixme draaien niet. fail draait met verwacht falen; onverwacht slagen wordt gemeld. Dat verschilt van afwezigheid door een filter.
Rapporteer geselecteerd, uitgevoerd, overgeslagen en verwacht falen apart. Maak er geen geruststellend totaal van. Stilte kan uitsluiting, uitschakeling of echt slagen betekenen.
Gerichte tests beperken ook de suite: als ze bestaan, draaien alleen die. Lokale debugfocus mag de gedeelde suite niet ongemerkt verkleinen. Beoordeel selectie met codewijzigingen.
Controleer de set bij wijzigingen
Verifieer lidmaatschap van nieuwe trajecten. Titel, tag of regex kan selectie veranderen zonder de testbody te wijzigen. Gebruik de runnerlijst met het precieze pipelinecommando.
Complexe filters hebben eigen checks nodig. Bestandsnaam of dashboardlabel bewijst geen selectie. Bewaar commando, relevante configuratie en namen bij het resultaat.
Houd het resultaat binnen zijn scope
Een kleine grens kan snelle feedback geven terwijl een brede suite apart draait. Dat is een plan, geen bewijs dat alles gevonden wordt. Productrisico bepaalt de verdeling; herzie haar bij nieuwe functies en foutpatronen.
AnyTest beschrijft agents die trajecten ontdekken en beoordeelbare tests maken. Beoordeel lidmaatschap én asserties. Geen AnyTest-taginterface wordt beloofd. Een eerlijk resultaat leent geen vertrouwen van niet-uitgevoerde tests.
Veelgestelde vragen
Bewijst een groene getagde subset volledige dekking?
Nee. Alleen geselecteerde uitgevoerde checks onder die configuratie worden onderbouwd.
Is een weggefilterde test hetzelfde als een overgeslagen test?
Nee. Selectie, skip/fixme en verwacht falen zijn verschillende toestanden.