javascript - Bør enhetstester skrives i typescript?
Mitt team holder for øyeblikket på å migrere fra JavaScript til TypeScript. Bør vi også migrere våre enhetstester fra JavaScript til TypeScript?
Min tanke er at det ikke er en stor fordel å ha våre enhetstester i TypeScript, og at det å kompilere enhetstestene våre fra TypeScript til JavaScript før de kjøres er bortkastet tid.
For kontekst bruker vi Jest og React Testing Library for et stort React-prosjekt.
Svar #1
Det finnes ikke et riktig eller galt svar her. Jeg personlig liker å bruke TypeScript for testene mine av lignende grunner som jeg liker å bruke TypeScript i app-koden min. Det gir et fint utviklingsmiljø og raskere tilbakemelding når noe er ødelagt. For eksempel, hvis jeg endrer argumentene en funksjon tar, vet jeg raskt hvilke tester som må endres. Ulempene er at man bruker litt mer tid, spesielt i starten, på å finne ut hvordan man gjør TypeScript fornøyd (spesielt for ting som mockede funksjoner).
Og ja, noe må fjerne typene, enten ts-jest eller babel-jest, når man faktisk kjører testene. Du må uansett gjøre dette med app-koden din (som antagelig er ganske mye større enn testene), så jeg tror ikke det er noe stort problem. Det er absolutt ikke noe jeg tenker på uansett.