Irgendwie kann ich Mocha JS-Test für eine relativ sehr einfache Funktion nicht schreiben. Die JavaScript-Quelldatei sieht wie folgt ausSchreiben Mokka Test für Async-Funktionen, die setTimeout() verwendet
exports.cb = function() {
console.log("The function is called after 3 seconds");
}
exports.testfn = function(cb) {
setTimeout(cb, 3000);
}
Und der Test-Code wird als
geschriebendescribe('Main Test', function(){
it('A callback Tests', function(done){
asn.testfn(asn.cb);
done();
});
});
Ich bin Begegnung mit 2 Probleme.
-
- Der Code Test endet sofort mit done()
-
- Wenn ich nicht() durchgeführt nenne, dann die Funktion aufgerufen wird, aber Tests nicht besteht, weil es für Asynchron-Funktionen() aufrufen getan erwartet
ich habe in Dokumentationen gesucht, aber nicht sicher, wie dies ca n gemacht werden.
Ich kann Tests mit Versprechen schreiben und es funktioniert gut. Aber für die Szenarien, in denen wir setTimeout verwenden müssen, wie soll es gemacht werden?
Was möchten Sie testen? 'testfn' oder' cb'? –