Ho provato a scrivere i test delle unità dell'interfaccia utente per le mie app GUI e affronto il problema che, mentre funzionano bene quando inizialmente li scrivo, risultano essere fragili e si rompono ogni volta che il progetto cambia (cioè, molto spesso) . Sto faticando a trovare una serie di linee guida che mi portino ad avere test unitari mantenibili per la GUI.
Per ora, una cosa che ho scoperto è che i test che dicono "questo componente dovrebbe mostrare i suoi dati di input da qualche parte" sono buoni (e questo è molto facile con l'HTML). I test che controllano lo stato specifico di una parte specifica del componente sono solitamente fragili. I test vanno come click-click-click-expect, che cercano di seguire il comportamento dell'utente e la logica di business sottostante (che è la parte più importante) di solito si rivela fragile. Come scrivere buoni test?
Per essere più precisi, mi piacerebbe conoscere alcuni schemi su che cosa potrei provare nella mia interfaccia utente, non esattamente come per testarlo. Le convenzioni di denominazione e gli identificatori fissi sono buoni, ma non risolvono il problema principale, ovvero le GUI cambiano molto. Mi piacerebbe testare i comportamenti che è improbabile che cambi. Come trovare la cosa giusta da testare?