Prima di tutto, il codice seguente sembra funzionare. Tuttavia, non ho ancora visto nessuno fare questo, quindi mi chiedo se questo sia addirittura legittimo e se mi mancano aspetti negativi imprevisti.Il gelsomino Gelsomino descrive blocchi annidati all'interno di un blocco
Il contesto è che sto scrivendo un test E2E con Protractor che utilizza blocchi descrittivi stile Jasmine. Il mio obiettivo è caricare una pagina ed eseguire un gruppo di blocchi di test it
senza ricaricare quella pagina ogni volta (perché richiede molto tempo).
Il costrutto che ho è:
describe("Homepage", function() {
beforeEach(function() {
browser.get("/"); //loads the page
});
it('elements', function() {
describe('test group', function() {
it('test 1', function() {
//run stuff 1
});
it('test2', function() {
//run stuff 2
});
})
});
});
Mi rendo conto che un'alternativa è solo quello di fare questo:
describe("Homepage", function() {
beforeEach(function() {
browser.get("/"); //goes to homepage
});
it('elements', function() {
//run stuff 1
//run stuff 2
});
});
Ma il problema è che non riesco a separare i test e si finisce con un grande blocco it
. Voglio in qualche modo evitare il problema di eseguire prima ogni singola volta, ma sono ancora in grado di avere un blocco test ben separato.
A proposito, ho anche provato questo:
describe("Homepage", function() {
browser.get("/"); //goes to homepage
it('elements', function() {
//run stuff 1
//run stuff 2
});
});
ma questa non funziona quando si dispone di più specifiche come questo. Il browser.get() viene eseguito uno dopo l'altro prima dell'esecuzione dei test.
Questa è una buona idea. Lasciami aspettare un giorno o due prima di accettare di vedere se qualcun altro ha qualche idea. – wlingke
Desidero aggiungere anche per questo specifico scenario di 'browser.get()' puoi anche controllare la pagina attiva con 'browser.getCurrentUrl()' e controllare la pagina corrente prima di "recuperarla". – wlingke