我们编写了一个 RESTful Web API,它使用 node.js 响应 GET 和 PUT 请求。我们在测试 API 时遇到了一些困难。首先,我们使用了 Zombie.js,但它没有很好的文档记录,所以我们无法让它发出 PUT 请求:
var zombie = require("zombie");
describe("description", function() {
it("description", function() {
zombie.visit("http://localhost:3000/", function (err, browser, status) {
expect(browser.text).toEqual("A")
});
});
});
之后我们尝试使用名为restler的 REST 客户端,这没问题,因为我们不需要任何高级浏览器模拟。由于请求似乎是异步的,因此失败 - 即测试是无用的,因为它在调用“成功”回调之前完成:
var rest = require('restler');
describe("description", function() {
it("description", function() {
rest.get("http://www.google.com").on('complete', function(data, response) {
// Should fail
expect(data).toMatch(/apa/i);
});
});
});
我们将感谢有关替代测试框架或同步请求客户端的任何提示。