nodejs express restful api插件restframework-express使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nodejs express restful api插件restframework-express使用相关的知识,希望对你有一定的参考价值。

参考技术A

restframework-express 是基于 nodejs 后端服务框架 express 用于构建RESTful Web API的一个强大且十分灵活的express工具包插件

我能做什么:

views.js

建议权限组件配合auth认证组件使用 当然你也可以不用

即将推出

感谢你的 star, 点这里

功能持续更新中...

敬请期待!

联系我 https://github.com/lvhaoran88/restframework-express

E-mail: 905097829@qq.com 、 lvhaoran@88.com

如何对使用 Express + Mongoose 构建的 NodeJs REST API 服务器进行单元测试?

【中文标题】如何对使用 Express + Mongoose 构建的 NodeJs REST API 服务器进行单元测试?【英文标题】:How to unit test a NodeJs REST API server built using Express + Mongoose? 【发布时间】:2012-08-28 01:24:50 【问题描述】:

我有一个使用 Express、Mongoose 和 config 的 REST API 服务器。我想对我的 API 进行单元测试。基本上,在端口 x 上启动一个临时 Web 服务器,在端口 y 上启动一个空的 mongo-database,执行一些 API 调用(获取和放置)并验证我返回的内容,然后在我的测试完成后关闭临时服务器并删除测试数据库.做这个的最好方式是什么?我一直在查看mocha/rewire,但不确定如何设置临时服务器和数据库,也不确定最佳实践是什么。

【问题讨论】:

【参考方案1】:

我使用Jenkins(持续集成服务器)和Mocha 来测试我的应用程序,我发现自己遇到了和你一样的问题。我配置了 Jenkins,所以它会执行这个 shell 命令:

npm install
NODE_ENV=testing node app.js &
npm mocha
pkill node

这会运行服务器以执行测试,然后将其终止。这也设置了 NODE_ENV 环境变量,因此我可以在测试时在不同的端口上运行服务器,因为 Jenkins 已经使用端口 8080。

代码如下:

app.js:

...
var port = 8080
if(process.env.NODE_ENV === "testing")
    port = 3000;
...

test.js:

var request = require('request'),
    assert = require('assert');

    describe('Blabla', function() 
      describe('GET /', function() 
        it("should respond with status 200", function(done) 
          request('http://127.0.0.1:3000/', function(err,resp,body) 
            assert.equal(resp.statusCode, 200);
            done(); 
          ); 
        ); 
      );
    );

【讨论】:

【参考方案2】:

我找到了我正在寻找的东西:testrest。我不喜欢它基于 .txt 文件的语法 - 我适应了使用 .json 文件代替我的规范。

【讨论】:

看起来很有趣,但文档似乎不存在...您是否找到任何有用的示例来启动和运行?【参考方案3】:

我建议尝试Buster.JS。您可以进行异步测试、模拟/存根,并启动服务器。

【讨论】:

【参考方案4】:

它也是在vows 之上构建的api-easy,第一个似乎很容易使用,但第二个非常灵活和强大

【讨论】:

不确定如何使用 api-easy 和/或 vows 的备用配置设置来管理启动临时节点服务器。 您是如何尝试配置测试的?【参考方案5】:

没有正确的方法,但我确实为我的个人目录结构创建了一个种子应用程序,并包含@norman784 建议的誓言测试。

你可以克隆它:git clone https://github.com/hboylan/express-mongoose-api-seed.git

或者使用 npm:npm install express-mongoose-api-seed

【讨论】:

以上是关于nodejs express restful api插件restframework-express使用的主要内容,如果未能解决你的问题,请参考以下文章

使用 Express 和 NodeJS 构建 REST API 的最佳实践

NodeJS REST API with MySQL and Express

如何使用 nodejs 和 express 在 REST API 中实现搜索和过滤

使用nodejs和rest api调用和express进行异步处理-序列错误

nodejs篇 express

如何对使用 Express + Mongoose 构建的 NodeJs REST API 服务器进行单元测试?