저는 몇 달 동안 node.js로 개발해 왔지만 지금은 새로운 프로젝트를 시작하고 있습니다. 이제 앱을 구조화하는 방법을 알고 싶습니다.몽구스로 node.js의 단위 테스트를위한 구조
단위 테스트에 대해 이야기 할 때 제 문제가 있습니다. 나는 단위 테스트를 작성하기 위해 nodeunit을 사용할 것이다.
또한 Express를 사용하여 내 REST 경로를 정의하고 있습니다.
두 개의 "별도의"파일로 데이터베이스에 액세스하는 코드를 작성하려고했습니다. (분명히 더 많을 것이지만 코드를 단순화하려고합니다). 노선 코드가있을 것입니다.
var mongoose = require('mongoose')
, itemsService = require('./../../lib/services/items-service');
// GET '/items'
exports.list = function(req, res) {
itemsService.findAll({
start: req.query.start,
size: req.query.size,
cb: function(offers) {
res.json(offers);
}
});
};
그리고 내가 사용하고있는 것처럼 항목 서비스는 데이터 계층에 액세스하는 데만 사용됩니다. 단위 테스트에서 데이터 액세스 레이어 만 테스트하려면이 작업을 수행하고 있습니다. 제대로 작동하고 내가 원하는 모든 곳에서이 코드를 사용할 수 있는지 내가 단위 테스트로 확인하실 수 있습니다
var mongoose = require('mongoose')
, Item = require('./../mongoose-models').Item;
exports.findAll = function(options) {
var query = Offer
.find({});
if (options.start && options.size) {
query
.limit(size)
.skip(start)
}
query.exec(function(err, offers) {
if (!err) {
options.cb(offers);
}
})
};
이 방법 : 그것은이 같은 수 있습니다. 그것이 제대로 완료되었는지 확실하지 않은 유일한 것은 반환 값을 사용하는 콜백 함수를 전달하는 방법입니다.
당신은 어떻게 생각하십니까?
감사합니다.
mongob를 사용하여 mongo에 연결하려고합니다. /// –
binarygiant
예제를 업데이트했습니다. – rounce