개발의 TDD 방식을 따르려고 노력하면서 나는 JavaScript로 특정 물건을 조롱 할 수있는 방법을 찾기 위해 여전히 고심하고 있습니다. 저는 Mockito와 Spring을 사용하여 Java를 조롱하는 데 익숙합니다 (예 : 실제 mongo 인스턴스 대신 mongo mock을 삽입하는 방법). 그러나 JavaScript로 어떻게 접근합니까? node.js 애플리케이션에서 mocking mongoskin
날 간단한 예는 노드 restify과 Node.js를 만들어 보자 :var mongoskin = require('mongoskin');
var restify = require('restify');
// ###############################
// ## Global Configuration
// ###############################
var mongoURL = process.env.MONGOHQ_URL || "mongodb://localhost/test";
var serverPort = process.env.PORT || 5000;
// ###############################
// ## Basic Setup
// ###############################
var server = restify.createServer({
name: 'test'
});
server.use(connect.logger());
server.use(restify.acceptParser(server.acceptable));
server.use(restify.bodyParser());
var db = mongoskin.db(mongoURL);
// ###############################
// ## API
// ###############################
server.get('/api/v1/projects', function (req, res, next) {
db.collection('projects').find().toArray(function (error, projects) {
if (error) {
return next(new restify.InternalError());
}
res.json(200, projects);
return next();
});
});
server.get('/api/v1/projects/:projectId', function (req, res, next) {
if (req.params.projectId === null) {
return next(new restify.InvalidArgumentError('ProjectId must not be null or empty.'))
}
db.collection('projects').findById(req.params.projectId, function (error, project) {
if (error) {
return next(new restify.InternalError());
}
res.json(200, project);
return next();
});
});
// ###############################
// ## Main Server Initialization
// ###############################
server.listen(serverPort, function() {
console.log('%s listening at %s', server.name, server.url);
});
것은 내가 지금은 그 두 '수'방법을 테스트 할 수 있습니다 자바 스크립트 파일, 테스트를하고 싶습니다. 또한 mongoskin 인스턴스 ('db')를 모의 해 JSMockito를 사용하여 스파이 행위를하고 행동을 취할 수 있습니다.
지금이 방법에 가장 적합한 방법은 무엇입니까? 누군가가 작은 예제 파일을 게시 할 수 있습니까? 그리고 어떻게 조롱 된 DB 인스턴스를 삽입 할 수 있습니까?
도움 주셔서 감사합니다. 거기에 쉽게 일반적으로 휴식 API를 조롱의 우선
티에리