0
Express 및 Mongoose로 REST API를 구축하고 Mocha 및 Chai로 테스트하고 있습니다.Test를위한 테스트 데이터베이스 생성 및 연결 Express.JS REST API
API를 테스트하기 위해 별도의 테스트 데이터베이스와 환경을 설정하려고하지만 Express에서이를 수행하는 방법을 모르겠습니다. 이 일에 대해 어떻게 생각하세요?이
import chai from 'chai';
import mongoose from 'mongoose';
import Post from '../models/posts';
import app from '../app.babel';
import chaiHttp from 'chai-http';
chai.use(chaiHttp);
const expect = chai.expect;
describe('GET /posts',() => {
it('should return a 200 status code', (done) => {
chai.request(app)
.get('/api/posts')
.set('Accept', 'application/json')
.end((err, res) => {
expect(err).to.be.null;
expect(res).to.have.status(200);
done();
});
});
});
describe('DELETE /posts',() => {
it('should return 200', (done) => {
const post = {
"title": "velit minim aliqua quis proident",
"body": "Quis tempor elit pariatur pariatur",
"posted": "2014-03-13T04:23:30 -00:00"
};
Post.create(post, (err, post) => {
chai.request(app)
.del('/api/posts/' + post._id)
.end((err, res) => {
expect(err).to.be.null;
expect(res).to.have.status(200);
done();
});
});
});
});
사전에
import express from 'express';
import mongoose from 'mongoose';
import Post from './models/posts';
mongoose.connect('mongodb://localhost/blog-site');
const app = express();
app.use('/', express.static('public'));
app.get('/api/posts', (req, res) => {
Post.find((err, doc) => {
if(err) return console.error(err);
res.send(doc)
});
});
app.delete('/api/posts/:_id', (req, res) => {
Post.findOneAndRemove({ _id: req.params._id }, (err) => {
if(err) return console.error(err);
res.sendStatus(200);
});
});
app.listen(process.env.PORT || 3000);
export default app;
감사를 app.babel.js
앱 test.js :
내app-test.js
아래 app.babel.js
참조하십시오.