Node.js测试REST API

Node.js测试REST API,node.js,angularjs,unit-testing,Node.js,Angularjs,Unit Testing,我正在为一个使用jasmine framework Node js的项目进行测试 我使用$httpBackend模拟对客户机代码进行了单元测试 现在我想测试我的服务器端代码&restapi,但不知道如何做到这一点 测试RESTAPI的最佳方法是什么 我最近探索了RESTAPI应用程序的自动化测试,遇到了许多技术选择。因为我的RESTAPI是基于Express的,所以我决定使用来自同一个开发者TJ Holowaychuk的测试框架软件,他的想法是,他用于测试自己的Express的框架应该制作得非常

我正在为一个使用jasmine framework Node js的项目进行测试

我使用
$httpBackend
模拟对客户机代码进行了单元测试

现在我想测试我的服务器端代码&restapi,但不知道如何做到这一点


测试RESTAPI的最佳方法是什么

我最近探索了RESTAPI应用程序的自动化测试,遇到了许多技术选择。因为我的RESTAPI是基于Express的,所以我决定使用来自同一个开发者TJ Holowaychuk的测试框架软件,他的想法是,他用于测试自己的Express的框架应该制作得非常好,并且足以满足我的需要

我对由此产生的节点技术组合感到满意。我使用Grunt任务运行程序(由npm执行)、Mocha测试运行程序(来自TJ)、chai断言库(使用“应该”断言样式)和supertest(来自TJ)

有了这个测试堆栈,我可以轻松地运行RESTAPI的自动测试。以下是一个简单测试的运行时输出:

[jfathman@cloud api]$ npm test

> api@0.0.1 test /home/jfathman/work/git/api
> node_modules/.bin/grunt test

Running "jshint:file" (jshint) task
>> 3 files lint free.

Running "mochaTest:test" (mochaTest) task

  Test API Proxy REST API
    ? Read config.yaml 
    ? GET /metadata/new, expect json and 200 OK (114ms)
    ? GET /metadata/saved, expect json and 200 OK (100ms)
    ? GET /metadata/deleted, expect json and 200 OK (88ms)
    ? GET /metadata/invalid, expect 400 Bad Request 

  6 passing (326ms)

Done, without errors.
您还可以单独运行测试运行程序:

[jfathman@cloud api]$ mocha -R spec

  Test API Proxy REST API
    + Read config.yaml 
    + GET /metadata/new, expect json and 200 OK (95ms)
    + GET /metadata/saved, expect json and 200 OK (102ms)
    + GET /metadata/deleted, expect json and 200 OK (82ms)
    + GET /metadata/invalid, expect 400 Bad Request 

  6 passing (305ms)
现在,在开发过程中从命令行运行REST API测试套件,或者在CI测试过程中从Jenkins/等运行REST API测试套件是一件简单的事情。

看看,这是一个专为测试REST API而设计的测试工具。它写在摩卡之上,允许BDD风格