Я новичок в Node.js, Mongoose и тестировании в этой среде. У меня есть следующая схема, объявленная в отдельном файле.
Issue = mongoose.model("Issue", {
identifier: String,
date: String,
url: String,
name: String,
thumbnailURL: String
});
Затем у меня есть этот метод, который просто возвращает все экземпляры Issue
в коллекции MongoDB.
function issues(request, response) {
response.setHeader('Content-Type', 'text/json');
Issue.find().sort('date').exec(function(error, items) {
if (error) {
response.send(403, {"status": "error", "error:": exception});
}
else {
response.send(200, {"issues": items});
}
});
}
Я прошел через эксперименты, и теперь хочу протестировать его, но у меня возникла проблема. Как я могу его протестировать, не настраивая соединение MongoDB и т.д. Я знаю, что могу установить все это, но это интеграционный тест. Я хочу написать модульные тесты для проверки таких вещей, как:
- Правильно ли эта функция правильно задает тип контента.
- Выполняет ли сортировка функции поле
date
- Возвращает ли функция 403 при возникновении ошибки?
- ... и т.д.
Мне любопытно посмотреть, как я мог бы реорганизовать мой существующий код, чтобы сделать его более универсальным. Я попытался, возможно, создать вторую функцию, которая вызвала, приняв объекты схемы response
и Item
в качестве параметров, но это не кажется правильным. У кого-нибудь есть лучшие предложения?