您好我對NodeJs很新,我正在嘗試編寫我的第一個測試。簡單單元測試NodeJS/Express
我有點卡住了設置,所以我希望得到一些幫助。
我寫了這兩個功能:
app.js:
var express = require('express')
, cors = require('cors')
, app = express();
app.get('/a_nice_jsonp',cors(corsOptions), function(req, res, next){
var result = parseCookies(req);
res.jsonp(result);
});
app.get('',function(req,res,next){
res.statusCode = 200;
res.end()
});
我不將其導出爲模塊,因爲它是我唯一的文件。
我認爲編寫測試非常簡單。我開始是這樣的:
app-test.js:
var expect = require('expect.js');
var express = require('express');
var expressApp = express();
describe('app js test', function() {
describe('GET /', function() {
it('should respond to GET with empty path', function() {
expressApp.get('', function(req, res, body){
expect(res.status).to.equal(200);
});
})
});
});
我想這真的讀起來就像一個簡單的任務,但我忽視了在測試的設置和如何做到這一點。
任何人都可以幫助我嗎?
編輯:上面的測試運行良好。但是,我很難測試.end()
以及jsonp request
中的result
。我簡單不知道該怎麼做?!
是否有錯誤信息?你是如何進行測試的? –
對不起,我不夠精確。上述測試運行良好。但這幾乎是我能夠測試的唯一東西。例如。我將如何測試res.jsonp(結果)?我不知道如何解決這個問題。我會提供更多解釋。感謝提示 – Dribel
沒有問題。那麼,您可以按照您檢查響應狀態的相同方式來執行此操作。而且,因爲響應是'jsonp'。然後,您可以嘗試使用一些虛函數來分析結果,以檢查結果是否有效。 –