2014-10-16 19 views
6

Ho alcuni requisiti che richiede di riprovare più volte test di errore di mocha. C'è un modo semplice/soluzione alternativa per fare questo?riprova non riuscito test moka

ho provato https://github.com/giggio/mocha-retry, ma non sembra funzionare per me con la moka 1.21.3:

it (2, 'sample test', function(done) { 
     expect(1).to.equal(2); 
     done(); 
    }); 

mocha test/retry.js -g 'sample test' --ui mocha-retry

+1

Questo ha l'odore di un [problema XY] (http://meta.stackexchange.com/a/66378/241526). Perché hai bisogno di riprovare i tuoi test? (Ok, c'è un "requisito che richiede" ma perché il requisito?) Anche la documentazione per il mocha-retry (che ha parecchi errori di battitura tra l'altro, non ispira fiducia) ha un paragrafo su come i tuoi test dovrebbero funzionare costantemente. – Louis

+1

Bene, i team vogliono concentrarsi prima su guasti consistenti, riducendo il rumore dei guasti intermittenti a causa di impostazioni dell'ambiente instabile ma fuori controllo che stiamo affrontando. – ccy

risposta

0

try{}catch e ricorsione

var tries_threshold = 5; 
it(2, 'sample test', function(done) { 
    var tries = 0; 
    function actual_test() { 
     expect(1).to.equal(2); 
    } 
    function test() { 
     try { 
      actual_test(); 
     } catch (err) { 
      if (err && tries++ < tries_threshold) 
       test(); 
      else done(err); 
     } 
    } 
    test(); 
}); 

try{}catch aiuterà a prevenire ribollire l'errore fino a quando non lo si desidera e quindi consentire di continuare a provare ricorsivamente.

4
it (2, 'sample test', function(done) { 
     this.retries(2); pass the maximum no of retries 
     expect(1).to.equal(2); 
     done(); 
    }); 

// this.retries (Numero massimo di tentativi);

Se il test fallisce, eseguirà di nuovo lo stesso test case fino a quando non verrà raggiunto il numero massimo di tentativi o il test case verrà superato. Una volta superato il test, passa al prossimo caso di test.

+0

Nota: i tentativi ora fanno parte del core della mocha: http://mochajs.org/#retry-tests – redgeoff

Problemi correlati