2015-10-25 4 views

risposta

4

The first example on the readme indica una situazione in cui plan funziona ma non end - risoluzione di test asincrona. In questo caso, non stai dicendo esplicitamente quando i test dovrebbero essere tutti si sono risolti, che stai dicendo quanti alla fine dovrebbe risolvere:

test('timing test', function (t) { 
    t.plan(2); 

    t.equal(typeof Date.now, 'function'); 
    var start = Date.now(); 

    setTimeout(function() { 
     t.equal(Date.now() - start, 100); 
    }, 100); 
}); 

Se stavamo usando end, il modo intuitivo per scrivere questo test potrebbe essere il seguente:

test('timing test', function (t) { 
    t.equal(typeof Date.now, 'function'); 
    var start = Date.now(); 

    setTimeout(function() { 
     t.equal(Date.now() - start, 100); 
    }, 100); 

    t.end(); 
}); 

... ma questo sarebbe terminare il test prima che la seconda affermazione ha avuto la possibilità di correre.

È possibile estrapolare ulteriormente a qualsiasi tipo di situazione in cui il codice asincrono o dinamico deve essere eseguito.