6

Sto provando a testare un'applicazione Angular Single Page con un rapportatore. Devo prima eseguire lo script di accesso. Solo allora posso spostarmi su altre rotte poiché c'è un segno di token nel localStorage sul cambio di rotta.Goniometro come eseguire prima lo script di test di login

Questo approccio di prova è corretto ?. In tal caso ho bisogno di eseguire prima lo script di accesso. Il goniometro consente di controllare l'ordine dei file spec.

O dovrei eseguire ciascuno script in modo indipendente codificando il token in localStorage (Devo fare una richiesta di login api in modo indipendente prima di ogni test).

mio script di accesso contiene le seguenti

it('Login with wrong email', function() { 

}) 

it('Login with correct email', function() { 

}) 

Così, dopo l'esecuzione del Login with correct mail mi metterò l'access token, che andranno memorizzati in localStorage e posso continuare a testare altri percorsi. È questo l'approccio corretto. In caso contrario, come posso testare una singola applicazione con accesso da capo a capo.

In goniometro Style Guide essa è indicata come

Fai i test indipendenti l'uno dall'altro

Quindi dovrei usare beforeAll, beforeEach per ottenere il token di accesso e conservare in localStorage prima di ogni prova. In tal caso, per favore, spiegami come si fa.

Qualsiasi aiuto è molto apprezzato.

Grazie.

risposta

7

Come evidenziato nel goniometro FAQs, è possibile specificare il proprio codice di accesso nella sezione onPrepare del proprio file conf. Ecco uno example.

È inoltre possibile ottenere ciò in beforeAll ma ciò aggiunge un sovraccarico non necessario agli script di test. Alterare il localStorage è possibile, ma non nello spirito del test di e2e poiché un sacco può andare storto in LS, e finirai per chiedersi se è la tua app o il tuo codice di modifica LS a causare questo.

Problemi correlati