我們編寫了一個RESTful Web API,它使用node.js響應GET和PUT請求。 我們在測試API時遇到了一些困難。 首先,我們使用Zombie.js,但它不是有據可查的,所以我們不能把它做PUT請求:使用jasmine和node.js測試web API
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,試過這將OK,因爲我們不不需要任何先進的瀏覽器模擬。這由於失敗的請求似乎是異步的事實 - 即測試是無用的,因爲它完成了「成功」回調被調用之前:
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);
});
});
});
我們最好約替代測試框架的任何提示感謝或同步請求客戶端。
它不會給你RESTful測試,但[vows](http://vowsjs.org/)是一個相當不錯的基於node.js的測試框架。 – hross
感謝您的提示,我會檢查出來。 – Jesper