Il modulo di test su nastro di substack consente di specificare in anticipo il numero di asserzioni con il metodo plan
, quindi chiamerà automaticamente end
. Perché non mettere semplicemente end
alla fine di un test? Qual è la differenza tra l'utilizzo di plan
e end
?Qual è lo scopo dell'uso di "piano" o "fine" nel sottotack/nastro?
5
A
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.
Problemi correlati
- 1. Qual è lo scopo di. * \\?
- 2. Qual è lo scopo di `Object (target)` nel polyfill `Object.assign()`
- 3. Qual è lo scopo dell'opcode UD2 nel kernel di Linux?
- 4. Qual è lo scopo di :: in C#?
- 5. Qual è lo scopo di Microsoft.Net.Compilers?
- 6. Qual è lo scopo di HttpHeaders.TryAddWithoutValidation?
- 7. Qual è lo scopo di XACT_ABORT
- 8. Qual è lo scopo di IApplicationBuilder.New()
- 9. Qual è lo scopo di un LoaderManager?
- 10. Qual è lo scopo di precompiledApp.config?
- 11. Qual è lo scopo di Rake?
- 12. Qual è lo scopo di angular-sanitize?
- 13. Qual è lo scopo dell'annotazione @param nel codice Java?
- 14. Qual è lo scopo di Array.GetLowerBound (int)?
- 15. Qual è lo scopo di IAsyncStateMachine.SetStateMachine?
- 16. Qual è lo scopo di riutilizzareIdentificatore?
- 17. Qual è lo scopo di IntentSender?
- 18. Qual è lo scopo di @EnableTransactionManagement?
- 19. Qual è lo scopo di .git/log
- 20. Qual è lo scopo di com.sun.org.apache.xpath.internal.operations.String?
- 21. Qual è lo scopo di java.math.MutableBigInteger?
- 22. Qual è lo scopo di $ eq
- 23. Qual è lo scopo di requestWindowFeature()?
- 24. Qual è lo scopo dell'uso di CommandType.Tabledirect
- 25. Qual è lo scopo di clojure.core.reducers/reduce?
- 26. Qual è lo scopo di partitioningBy
- 27. Qual è lo scopo di durandal?
- 28. Qual è lo scopo di CMakeScripts?
- 29. Qual è lo scopo di JMH @Fork?
- 30. Qual è lo scopo di 'var'?