QA The Other WayKwaliteitsborging in het tijdperk van AI-automatisering. QA The Other Way.
Praktische QA

Route fallback behoudt de handlerketen.

Controleer registratievolgorde voordat u een onderschept request voortzet.

5 minuten leestijdQA The Other Way
Een handlerketen naast een directe route naar een verzonnen server.
Eigen redactionele illustratie.
Illustratieve video bij dit artikel. Engelse tekst op het scherm; selecteer ondertitels voor deze taal.

Vertaalde editie. Technische identificatiegegevens blijven in hun oorspronkelijke vorm.

Controleer registratievolgorde voordat u een onderschept request voortzet.
Lokaal voorbeeld met verzonnen data, geen klant- of leveranciersinterface.

Een lokale test registreert een antwoordfixture, daarna een waarnemer voor hetzelfde endpoint. De waarnemer gebruikt continue(). De fixture draait niet; het request bereikt de server. De overdrachtsmethode bepaalt het gezamenlijke gedrag.

De Route-API beschrijft omgekeerde registratievolgorde. De laatste passende handler draait eerst. fallback() geeft door aan de volgende; continue() stuurt direct naar het netwerk zonder andere passende handlers.

Leg eerst de keten vast

Registreer voor /demo-value de fixture vóór de waarnemer. De waarnemer draait eerst, daarna geeft de fixture een gecontroleerde tekst terug. Het lokale serverendpoint hoort geen aanroep te ontvangen.

const order: string[] = [];
await page.route('**/demo-value', async route => {
  order.push('fixture');
  await route.fulfill({ status: 200, body: 'fixture value' });
});
await page.route('**/demo-value', async route => {
  order.push('observer');
  await route.fallback();
});

Het voorbeeld veronderstelt een lokale pagina en later request. Controleer antwoordtekst én geregistreerde volgorde. Fixturetekst bewijst niet dat de waarnemer draaide; het log bewijst niet wat de pagina ontving.

Onze server telt aanroepen. Met fallback: observer, fixture, fixture value en nul serveraanroepen. Een verse pagina gebruikt continue: server value, alleen observer en één serveraanroep.

Maak elke uitgang zichtbaar

Een waarnemer leest en delegeert. Een fixture antwoordt met fulfill; een blokkering gebruikt abort. Elk pad heeft een expliciete uitgang nodig om onbedoeld wachten te voorkomen. Behoort een request niet tot een voorwaardelijke handler, dan laat fallback de volgende beslissen.

De API staat wijzigingen tijdens fallback toe. Die veranderen latere invoer en horen in de review. Hier zijn geen overrides, inlogdata of privéheaders. We isoleren besturing, niet headerdoorgifte.

Brede en smalle routes kunnen overlappen. Lees alle registraties inclusief gedeelde helpers. Het aanroeptijdstip bepaalt de volgorde meer dan de positie in het bestand. Noteer de waargenomen volgorde in het foutverslag.

Controleer het netwerk apart

Een lokaal beantwoorde route test gedrag met de gegeven respons, geen echte leverancier. Ook continue bereikt hier slechts een verzonnen lokale server. Houd integratie apart en extern verkeer binnen een toegestane omgeving.

Verse pagina's scheiden registraties. Verwijder bij routewijzigingen binnen één test de bedoelde handler expliciet en wacht op relevant werk. Opruimen mag het volgende geval niet ongemerkt wijzigen.

Noteer endpoint, volgorde, uitgangen, antwoord en serverbewijs. AnyTest beschrijft verkenning en reviewbare tests. Vraag welke afhankelijkheid antwoordde. Geen specifieke AnyTest-interceptiefunctie wordt beweerd.

Veelgestelde vragen

Roept continue de volgende handler aan?

Nee. Het stuurt onmiddellijk naar het netwerk.

Garandeert fallback een serveraanroep?

Nee. Een volgende handler kan antwoorden of afbreken.

Bronnen