Je soumets une demande de réseau dans un cas de test, mais cela prend parfois plus de 2 secondes (le délai par défaut).
Comment augmenter le délai d'attente pour un seul cas de test ?
Je soumets une demande de réseau dans un cas de test, mais cela prend parfois plus de 2 secondes (le délai par défaut).
Comment augmenter le délai d'attente pour un seul cas de test ?
Voilà : http://mochajs.org/#test-level
it('accesses the network', function(done){
this.timeout(500);
[Put network code here, with done() in the callback]
})
Pour la fonction flèche, procédez comme suit :
it('accesses the network', (done) => {
[Put network code here, with done() in the callback]
}).timeout(500);
J'utilisais les fonctions fléchées d'es6 et j'ai dû revenir aux anciennes définitions de "fonction" pour que "ceci" fonctionne.
Avez-vous un exemple simple de ce "[Mettez le code du réseau ici, avec done() dans le callback]" ? Cette partie me perturbe.
Cela fonctionne, mais .timeout
n'est pas inclus dans les typages DefinitelyTyped pour mocha : i.imgur.com/jQbWCn1.png - Utilisation this.timeout(2000)
o this.slow(500)
avec une vieille fonction normale fonctionne et compile sans erreurs
(puisque je suis tombé dessus aujourd'hui)
Soyez prudent lorsque vous utilisez la syntaxe de la flèche grasse de l'ES2015 :
Cela va échouer :
it('accesses the network', done => {
this.timeout(500); // will not work
// *this* binding refers to parent function scope in fat arrow functions!
// i.e. the *this* object of the describe function
done();
});
EDIT : Pourquoi ça échoue :
Comme le mentionne @atoth dans les commentaires, grosse flèche ne disposent pas de leur propre este reliure. Par conséquent, il n'est pas possible pour le il à lier à la fonction este du callback et fournir un délai d'attente fonction.
Ligne de fond : N'utilisez pas les fonctions flèches pour les fonctions qui nécessitent un délai d'attente accru.
Parce que les fonctions de flèche n'ont pas du tout cela. Plus d'informations ici : blog.getify.com/flèche-ici
Oui, mais je l'ai expliqué dans la réponse. Voir mon commentaire. // à l'intérieur du code. Je devrais probablement l'expliquer en dehors du bloc de code pour que ce soit plus clair. Cela existe mais cela vient de la portée extérieure.
Mon explication est plus précise. Il n'y a pas this
liant les fonctions de la flèche - pas de la même manière suggérerait qu'ils ont une sorte de, juste différente. Ils ont seulement des portées lexicales. Vous ne pouvez pas lier des choses inexistantes. C'est pourquoi .bind
, .call
etc. ne fonctionne pas avec lui.
Je conviens que cela ne répond pas à la question, mais c'était suffisant pour mon cas d'utilisation où je ne me souciais pas de savoir si cela augmentait pour tous les tests. Je pense que beaucoup de personnes qui se retrouvent ici peuvent ne pas se soucier de savoir si c'est pour un ou tous les tests, donc j'apprécie que cette réponse soit là.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.