Вопрос по mongodb, node.js – Макет / тестирование базы данных Mongodb Node.js

25

Я изучаю nodejs и у меня есть база данных mongodb, с которой мне приходится взаимодействовать. В настоящее время я думаю об использовании mocha для платформы модульного тестирования и zombie.js для платформы приемочного тестирования. Мне было интересно, как я могу сделать полномасштабные приемочные тесты, которые попали в базу данных mongodb. Есть ли фреймворк / модуль, который помогает заменить базу данных тестовой базой данных, или же у mocha или zombie.js есть функциональность, которую можно легко использовать для замены базы данных.

Также есть структура, которая похожа на идею фабрик (вместо приспособлений) в создании объектов базы данных.

Схожая концепция, с которой я столкнулся в мире рельсов, есть в rspec, есть файл spec_helper.rb, который запускается до запуска тестов, который задает конфигурацию проектов, чтобы решить, какую базу данных использовать при запуске тестов. И он использует database_cleaner для очистки тестовой базы данных перед запуском тестов. Для фабрик я снова использовал Factory girl для создания фабричных объектов из схемы базы данных в мире рельсов.

Спасибо

Я создал библиотеку, разрешающую поведение factory_girl / machinist - ectypes (странное слово, но оно имеет смысл, когда вы знаете, что оно означает). Это немного отличается от мира Ruby, так как в Node.js нет стандартного ORM / ODM, поэтому вы должны определить «стратегию» для уровня персистентности. Их не сложно сделать. У меня есть один для Sequelize в данный момент. Видеть Github.com / nicholasf / ectypes.js nicholasf

Ваш Ответ

3   ответа
3

http: //mongodb.github.com/node-mongodb-native/github/github.html#test-helpers-and-librarie

но вы можете просто поискать на github или спросить в группе Google.

Единственная страница, на которую ссылается страница, похоже, отсутствует какой-либо способ запроса фиктивных баз данных, как выпуск три года назад указал. Я неправильно понимаю, или это делает его совершенно непригодным для использования практически во всех целях? Josh1billion
0
2

вы можете смоделировать модуль или его части (например, часть конфигурации), используя одно из следующих действий:

Sinon ReWire Horaa Песочница-модуль

В ответах на следующий связанный вопрос перечислено несколько возможных решений / подходов: Как ты смеешься над MySQL (без ORM) в Node.js?

Похожие вопросы