Ich bin neu in JavaScript Test Frameworks. Ich würde gerne ein wenig optimieren, aber ich stoße auf einige Probleme. Das Projekt wird mit should.jsMocha/Should.js mit asynchrone Funktion
Hier ist die vereinfachte Version meiner ursprünglichen Testfälle:
describe('Simple', function() {
describe('Test', function() {
it('should do something', function(done) {
somePromise.then(function(data) {
data.should.above(100);
done();
});
}
it('should do something else but alike', function(done) {
somePromise.then(function(data) {
data.should.above(100);
done();
});
}
}
});
Ich versuche, es so zu tun:
var testFunc = function(data) {
it('should do something', function(done) {
data.should.above(100);
done();
});
}
describe('Simple', function() {
describe('Test', function() {
somePromise.then(function(data) {
testFunc(data);
});
somePromise.then(function(data) {
testFunc(data);
});
}
});
Das Versprechen ist asynchron, und Vielleicht ist das der Grund, warum meine "Optimierung" nicht funktioniert hat? Ich habe keine "fertig" Callback für describe
Funktion in der Dokumentation gefunden.
Vielen Dank im Voraus! Jede Hilfe wird zu schätzen wissen!
Dank, es funktioniert. Aber könnte ich ein Versprechen mit verschiedenen Aussagen testen? – iplus26
Ich habe versucht, die "it" -Funktion in meine Versprechen Funktionen zu wickeln, so dass ich asynchrone API in meinem Versprechen Funktionen nur einmal anfordern kann, aber andere Test – iplus26
Ja natürlich tun. Versprechen macht das sehr einfach. Sie erstellen das Versprechen außerhalb Ihrer Testfälle und weisen es einer Variablen zu. Sie können dann das Versprechen in sich wie gewohnt blockieren. Ich habe meine Antwort mit einem Beispiel aktualisiert. –