您好我对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'。然后,您可以尝试使用一些虚函数来分析结果,以检查结果是否有效。 –