2015-09-21 26 views
7

Ho diversi test che testano l'interfaccia utente e servono anche a creare dati lungo la strada.Come posso eseguire i test Nightwatch in un ordine specifico?

Un set separato di test si basa su questi dati, il che significa che devono essere eseguiti solo dopo aver eseguito il primo set.

Sono a conoscenza dell'esecuzione di un gruppo di essi o eseguendoli con tag, ma come posso eseguirli in un ordine specifico?

+0

È possibile eseguire una singola prova utilizzando '--testcase'. Suppongo che potresti semplicemente eseguirli uno alla volta usando quello. – Brian

+1

@Brian No, perché Nightwatch crea una sessione separata ogni volta che eseguiamo il test come suggerisci tu. –

risposta

9

Nightwatch eseguirà ogni test all'interno di un determinato file in ordine, quindi una soluzione (ingenua) sarebbe quella di inserire tutti i test nello stesso file, nell'ordine in cui si desidera che vengano eseguiti.

Ciò diventa poco pratico se si dispone di troppi test per un singolo file. Per aggirare questo problema, è possibile sfruttare Nightwatch eseguendo ciascun file di test in ordine alfabetico. Un modo per farlo sarebbe quello di prefissare ogni file di test con un numero che indica l'ordine in cui si desidera eseguirli. Ad esempio, se si dispone di due file di test, before.js e after.js, e si desidera eseguire prima before.js, è possibile basta cambiare i nomi dei file in 01before.js e 02after.js. In questo modo Nightwatch legge i file nell'ordine desiderato.