|<- [[Testing with mocha and Chai]]|[[Mocking a server with Nock]] ->|
Pour tester par exemple une web request, le dispositif de test va devoir attendre que la requête soit complétée.
// tools-spec.js
describe(“Tools()”, function() {
describe(“printName()”, function() {
it("should print the last name first", function() {
var results = tools.printName({ first: "Alex", last: "banks"});
expect(results).to.equal("Banks, Alex");
});
});
describe("loadWiki()", function() {
this.timeout(5000); // on règle le timeout sur 5000 en lieu et place du réglage par défaut (2000);
it("Load Abraham Lincoln's wikipedia page", function(done) { // le done est une fonction dont mocha va attendre l'invocation avant de terminer le test
tools.loadwiki({ first: "Abraham", last: "Lincoln"}, function(html) {
expect(html).to.be.ok;
done(); // on indique la fin du test
});
});
});
});
// tools.js
var https = require("https");
(...)
loadWiki(person, callback) {
var url = `https://en.wikipedia.org/wiki/${person.first}_${person.last}`;
https.get(url, function(res) {
var body = "";
res.on("data", function(chunk) {
body += chunk;
});
res.on("end", function() {
callback(body);
});
}
(...)