Макет / тестирование базы данных Mongodb Node.js
Я изучаю nodejs и у меня есть база данных mongodb, с которой мне приходится взаимодействовать. В настоящее время я думаю об использовании mocha для фреймворка модульного тестирования и zombie.js для фреймворка для приемочного тестирования. Мне было интересно, как я могу сделать полномасштабные приемочные тесты, которые попали в базу данных mongodb. Есть ли фреймворк / модуль, который помогает заменить базу данных тестовой базой данных, или же у mocha или zombie.js есть функциональность, которую можно легко использовать для замены базы данных.
Также есть структура, которая похожа на идею фабрик (вместо приспособлений) при создании объектов базы данных.
Схожая концепция, с которой я столкнулся в мире рельсов, есть в rspec, есть файл spec_helper.rb, который запускается до запуска тестов, который задает конфигурацию проектов, чтобы решить, какую базу данных использовать при запуске тестов. И он использует database_cleaner для очистки тестовой базы данных перед запуском тестов. Для фабрик я снова использовал Factory girl для создания фабричных объектов из схемы базы данных в мире рельсов.
Спасибо
3 ответа
Есть некоторые
http://mongodb.github.com/node-mongodb-native/github/github.html
но вы можете просто поискать на github или спросить в группе google.
Чтобы ускорить работу реального mongodb в памяти, https://github.com/nodkz/mongodb-memory-server помогает.
Если ваша база данных имеет отдельный модуль, вы можете смоделировать модуль или его части (например, часть конфигурации), используя одно из следующих действий:
- Sinon
- заново электрифицировать
- horaa
- песочницы-модуль
В ответах на следующий связанный вопрос перечислено несколько возможных решений / подходов: Как вы издеваетесь над MySQL (без ORM) в Node.js?