Мы написали веб-API RESTful, который реагирует на GET и PUT запросы с использованием node.js. У нас возникли некоторые трудности с тестированием 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")
});
});
});
После этого мы попытались использовать REST-клиент под названием restler , что было бы нормально, поскольку нам не нужна расширенная симуляция браузера. Это не удается из-за того, что запрос кажется асинхронным, т. Е. Тест бесполезен, поскольку он завершается до того, как будет вызван обратный вызов «при успехе»:
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);
});
});
});
Мы были бы благодарны за любые советы по альтернативным фреймворкам тестирования или клиентам синхронных запросов .