Teknologi - Nuxt.js, Vitest
Verktøy - vitest-axe, jsdom
Prinsipper - Universell utforming, Testdrevet utvikling
Skrevet i samarbeid med AI - Gemini Flash (Low)
- Etablere et isolert testmiljø for Nuxt-komponenter og enhetstester.
- Erstatte den statiske semantiske valideringstesten med automatiserte tilgjengelighetsrevisjoner.
- Konfigurere asynkron lasting av .vue-filer i Vitest.
Opplever at hode er anspent, noe som trekker ned på energien jeg har, men ellers er dagen er så fin den kan bli.
Utfordring & Løsning
I arbeidet med å konfiguere automatisert testing, innså jeg at testmiljøet ikke var korrekt i henhold til Nuxt dokumentasjonen, dette utløste behovet for å rette opp testmiljøet som følger standarden for Nuxt og enhetstester. Som en konsekvens av at standard testing mangler støtte for virtuelle moduler som #imports og Vue-komponenter, kreves det et tilpasset oppsett i vitest.config.ts. Løsningen ble å konfigurere et asynkront testmiljø og samtidig integrere automatiserte tilgjengelighetsrevisjoner for å erstatte den eldre semantiske HTML-sjekkeren.
Hensikten var å lage et stabilt, pålitelig og korrekt isolert testmiljø med Vitest i Nuxt, samt implementere automatiserte tilgjengelighetsrevisjoner for alle nettsider.
- Opprettet en prosjektbasert teststruktur i
vitest.config.ts ved bruk av defineVitestProject for å separere Node-enhetstester fra Nuxt-avhengige tester. - Konfigurerte jsdom som det kjørende DOM-miljøet for Nuxt-testprosjektet.
- Integrerte vitest-axe som erstatning for den tidligere semantiske HTML-sjekkeren.
- Antigravity-cli la til en ny testsuite
accessibility.test.ts som monterer og sjekker alle sider for tilgjengelighetsavvik ved å simulere korrekte rammeverklandemerker.
Konfigurasjonen ble oppdatert og testene kjører nå feilfritt. Personlig erfarte jeg at Vitest prosjektkonfigurasjoner må løses asynkront i vitest.config.ts for å sikre at Nuxt-miljøet og Vue-kompilatorer lastes inn korrekt før importanalyse starter. Dette sikrer at fremtidige endringer ikke bryter retningslinjer for universell utforming, som stabiliserer nettsiden, forbedrer kvaliteten på nettsiden og gjør nettsiden søkbar.