2010-09-15 133 views
3

我正在用express寫一個應用程序。nodejs /快速測試

主要文件被稱爲server.js

的對象之一是

var app = express.createServer(express.logger(), 
    express.bodyDecoder()); 

那麼我

app.get("/",function(req, res){ 
    res.send("Running"); 
} 

如何使用快報,[或其他任何測試框架爲 的問題],測試路由輸出?

我看着expresso網站,但不知道如何得到它 一起工作,是否有可能如果有人給我一個短的 例子?

謝謝!

回答

2

我敢肯定,你現在找到這個問題的答案,但你嘗試過這樣的事情:

assert.response(server, { 
    url: '/', 
    method: 'GET' 
},{ 
    body: '{"name":"tj"}', 
    status: 200, 
    headers: { 
     'Content-Type': 'application/json; charset=utf8', 
     'X-Foo': 'bar' 
    } 
}); 
+0

最近我一直在考慮編寫一個基於NodeJS assert的測試套件。你會推薦這麼做嗎?我的意思是這樣做會減少我的項目中的依賴項數量......它看起來好像更容易,更靈活。 – Charlie 2014-02-25 15:36:24

+0

如果你可以寫一個體面的測試套件只使用assert然後那很好。這就是說,摩卡作爲一個依賴是相當輕量級,並給你很多很酷的功能。 – 2014-02-25 15:56:24

1

如果你是新來的Node.js和所有不同的測試庫感到困惑:

Expresso的繼任者是Mocha。在摩卡,您使用的HTTP響應測試單獨的工具,如RequestSuperTestzombie.js

Zombie.js似乎是最容易學習如何使用,ESP。 w/cookie和基於cookie的會話。它「在請求中保持狀態:歷史記錄,Cookie,HTML5本地和會話記錄等。」