前言
在做nodejs开发中,难免会遇到HTTP相关的测试,一般需要依赖模块supertest或者superagent,supertest依赖后者。
The motivation with this module is to provide a high-level abstraction for testing HTTP。
先从介绍说起,supertest提供HTTP测试抽象接口。本质上来说,是直接向接口发起HTTP请求并解析结果,然后针对结果进行assert。
参考文档
- https://github.com/visionmedia/superagent
- https://github.com/visionmedia/supertest
中间件测试示例----bodyparse.json
bodyparse的作者测试用例跟我最初的思考有差异,但更简洁。原作者将中间件直接在createserver回调函数中使用,此时的三个参数在实际使用时由express进行控制,此处是显式声明。
function createServer(opts){
var _bodyParser = bodyParser.json(opts)
return http.createServer(function(req, res){
_bodyParser(req, res, function(err){
res.statusCode = err ? (err.status || 500) : 200;
res.end(err ? err.message : JSON.stringify(req.body));
}

这篇博客介绍了在开发中如何利用supertest模块进行HTTP测试。它提供了一个高级抽象层来简化接口请求和结果解析。作者对比了参考文档中的测试示例和自己的实践,强调中间件只需关注输入输出,测试时在路由下使用并返回响应。
最低0.47元/天 解锁文章
753

被折叠的 条评论
为什么被折叠?



