Тестирование веб-API с использованием jasmine и node.js

Мы написали веб-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);
    });
  });
});

Мы были бы благодарны за любые советы по альтернативным фреймворкам тестирования или клиентам синхронных запросов .

5
задан Jesper 17 October 2011 в 11:02
поделиться