2012-12-19 4 views
28

non riesco a trovare un modo per fermare una parte di it 's dal periodo se uno di essi nonSkip successive prove Mocha da spec se uno non riesce

sto usando mocha-as-promised, in modo che il codice potrebbe essere diverso da come usuall

describe("remote promises", function() { 
    describe("browsing", function() { 
    describe("getting page", function() { 
     it("should navigate to test page and check title", function() { 
     this.timeout(TIMEOUT); 
     return browser.get("http://admc.io/wd/test-pages/guinea-pig.html").then(function() { 
      return browser.title(); 
     }).then(function(title) { 
      return assert.ok(~title.indexOf("I am a page title - Sauce Labs"), "Wrong title!"); 
     }); 
     }) 
     it("submit element should be clicked1", function() { 
     this.timeout(TIMEOUT); 
     return browser.elementById("submit").then(function(el) { 
      return browser.clickElement(el); 
     }).then(function() { 
      return browser["eval"]("window.location.href"); 
      }).then(function(location) { 
      assert.ok(~location.indexOf("http://"), "Wrong location!"); 
      }); 
     }) 
    }); 
    describe("clicking submit", function() { 
     it("submit element should be clicked2", function() { 
     this.timeout(TIMEOUT); 
     return browser.elementById("submit").then(function(el) { 
      return browser.clickElement(el); 
     }).then(function() { 
      return browser["eval"]("window.location.href"); 
      }).then(function(location) { 
      assert.ok(~location.indexOf("http://"), "Wrong location!"); 
      }); 
     }); 
    }); 

    }); 
}); 

e voglio che se should navigate to test page and check title è riuscito poi submit element should be clicked1 dovrebbe essere saltato

EDIT: sembra che io sto solo facendo il mio t EST sbagliato, sarà attendere per qualche tempo prima di eliminare domanda

EDIT:

come ho risposto in commento - ho già ricevuto questa risposta in gruppi moka google, ma ci sono alcune altre limitazioni non ho citato in questione - Sto usando grunt-simple-mocha e come ho ispezionato il codice - non c'è opzione di bail quando passo le opzioni al costruttore di mocha

non sono riuscito a trovare dove vengono passate le opzioni dalla riga di comando all'istanza Suite, e solo linea dove può essere come vedo io è un

suite.bail(this.bail()); 

che sembra strano per me

penso di aprire problema a pagine GitHub moka, opzioni forse si estenderà passati con impostazione cauzione dopo, o solo a me spiegare che cosa ho fatto di sbagliato e come posso risolvere il mio problema in altro modo

MODIFICA: e ora, secondo https://github.com/visionmedia/mocha/commit/f0b441ceef4998e570a794dcff951bf2330eb0c5 ultimo Mocha ha opzione di cauzione dalla scatola. Grazie agli autori!

+0

Questa domanda è anche utile se si cerca di: failfast moka o il fallimento al primo errore. – k0pernikus

risposta

69

Mocha supporta il bailing dopo il primo test fallito, è quello che vuoi?

Da mocha --help:

-b, --bail      bail after first test failure 
+0

sì, grazie per la risposta. Ho già ricevuto questa risposta nella pagina dei gruppi di google moka. lo accetterò poiché è la risposta corretta alla mia domanda iniziale, ma aggiungerò la mia domanda con una breve descrizione di ciò che volevo veramente. forse puoi dare un'occhiata ed estendere la tua risposta, ma sembra che la moka non possa fare quello che voglio adesso – llamerr

+1

ora Mocha ha l'opzione di cauzione che può essere passata tramite 'options' too – llamerr

+0

Come @llamerr menzionato, basta mettere' --bail 'all'interno di un file chiamato' mocha.opts' se lo si desidera per impostazione predefinita. – mikemaccana

Problemi correlati