使用节点 Js 对 REST API 进行单元测试
Unit testing for REST API using node Js
我想为我的 REST API 调用编写单元测试(使用 mocha 和 chai)。
谁能给我更好的指导或任何以前编写的代码,以便我可以轻松执行。
互联网上有多个指南以 mocha
和 chai
开头。比如官方文档:
使用 npm
你可以同时安装:
- 摩卡咖啡:
npm install --save-dev mocha
- 柴:
npm install chai
此外,对于 HTTP,您需要 chai-http:npm install chai-http
有了它,您就可以开始编写测试代码了。
首先,您需要导入包到您的测试文件中
var chai = require('chai'), chaiHttp = require('chai-http');
chai.use(chaiHttp);
并使用您想要的断言,例如:
var expect = chai.expect;
.
测试使用此模式:
describe('Test', () => {
it("test1", () => {
})
it("test2", () => {
})
})
其中 describe
是声明一个 'suite' 测试。在每个套件中,您都可以放置多个测试,甚至是另一个套件。
如果您使用 mocha yourFile.js
执行此代码,您将得到:
Test
√ test1
√ test2
现在可以开始添加路由进行测试了。例如这样的事情:
it("test1", () => {
chai.request('yourURL')
.get('/yourEndpoint')
.query({value1: 'value1', value2: 'value2'})
.end(function (err, res) {
expect(err).to.be.null;
expect(res).to.have.status(200);
});
})
如果您想使用自己的快递应用程序,您可以使用
var app = require('../your/app')
...
it("test1", () => {
chai.request(app)
...
}
...
Chai 文档中还描述了多个选项。
我想为我的 REST API 调用编写单元测试(使用 mocha 和 chai)。 谁能给我更好的指导或任何以前编写的代码,以便我可以轻松执行。
互联网上有多个指南以 mocha
和 chai
开头。比如官方文档:
使用 npm
你可以同时安装:
- 摩卡咖啡:
npm install --save-dev mocha
- 柴:
npm install chai
此外,对于 HTTP,您需要 chai-http:npm install chai-http
有了它,您就可以开始编写测试代码了。
首先,您需要导入包到您的测试文件中
var chai = require('chai'), chaiHttp = require('chai-http');
chai.use(chaiHttp);
并使用您想要的断言,例如:
var expect = chai.expect;
.
测试使用此模式:
describe('Test', () => {
it("test1", () => {
})
it("test2", () => {
})
})
其中 describe
是声明一个 'suite' 测试。在每个套件中,您都可以放置多个测试,甚至是另一个套件。
如果您使用 mocha yourFile.js
执行此代码,您将得到:
Test
√ test1
√ test2
现在可以开始添加路由进行测试了。例如这样的事情:
it("test1", () => {
chai.request('yourURL')
.get('/yourEndpoint')
.query({value1: 'value1', value2: 'value2'})
.end(function (err, res) {
expect(err).to.be.null;
expect(res).to.have.status(200);
});
})
如果您想使用自己的快递应用程序,您可以使用
var app = require('../your/app')
...
it("test1", () => {
chai.request(app)
...
}
...
Chai 文档中还描述了多个选项。