Test TDD lato client?

0

Più specificamente, per quanto riguarda l'ATDD (una sorta di BDD aromatizzato, o qualcuno che potrebbe argomentare ciò che in realtà era inteso in primo luogo da TDD) dovrebbe esserci un gran numero di test dell'interfaccia utente?

Come ho testato i miei componenti dell'interfaccia utente nel mio aroma del mese sul framework MCV lato client, trovo che non ho provato molto nei componenti stessi, ma solo nei moduli che usano.

Ad esempio, su un sito web di libri con Author s e Book s se sto testando la pagina di elenco Book per un autore, invece di verificare che gli elementi siano rappresentati correttamente nel componente (ad esempio li elementi per ogni libro, genitore ul , ecc.) Sposterei la logica in un modulo per recuperare quei Book s per uno specifico Author .

Per fare ulteriormente l'esempio, se ci fosse qualche logica per interagire con uno degli elementi Book resi in ul allora invece di controllare che un handler sia stato innescato vorrei solo assicurarmi che il gestore sia in fase di test correttamente.

Sembra che se provo il rendering dell'interfaccia utente di Author e il suo Book s sul lato client è troppo legato all'implementazione, e allo stesso modo con il gestore di eventi mi sposa al gestore di eventi in modo tale Non posso refactoring.

È questo il modo di pensare al lato client testare l'interfaccia utente? Forse ho solo bisogno di alcuni test di accettazione (ad es. Selenium) in questo caso per riempire gli spazi vuoti?

    
posta Adam Thompson 03.06.2018 - 01:17
fonte

1 risposta

1

Buona domanda. Se stai seguendo TDD, non devi scrivere codice che non ha un test. Ma ho mai visto questo applicato all'interfaccia utente.

Esistono strumenti di test dell'interfaccia utente come il selenio che funzionano con i siti Web. Quindi creare un test per contare gli elementi dell'elenco in html è abbastanza semplice.

Controllare che "il rendering sia corretto" è un po 'più difficile. Puoi prendere screenshot e confrontare, ma ovviamente anche le modifiche previste con i dati dinamici falliranno. Anche il tuo test dell'intera pagina con questo approccio.

Se prendi sul serio il tuo prodotto, i test dell'interfaccia utente sono obbligatori.

Per farli lavorare in modo affidabile e veloce per essere un approccio TDD di successo sembra una sfida. Potrebbe essere necessario dedicare del tempo allo sviluppo di strumenti e sistemi prima che diventi possibile

    
risposta data 03.06.2018 - 08:19
fonte

Leggi altre domande sui tag