Я создаю библиотеку Express.js, которая использует официальный драйвер Node.js для операций Mongodb.Моделирование сбоя доступа к Mongodb
Я в настоящее время в процессе написания модульных тестов, и я хочу, чтобы имитировать отказы, чтобы получить доступ к базе данных, с тем чтобы обеспечить:
- Библиотека признает случаи отказа (обрабатывает ошибку)
- делает правильные обратные вызовы ошибок и срабатывают соответствующие события.
Я хочу, чтобы тесты выполнялись кросс-платформенными, предпочтительно без необходимости закрывать или запускать базу данных со специальными параметрами.
Для команд sleep команды sleep, похоже, выполняют практически то, что я хочу, но время ожидания в секундах довольно долгое время, плюс оно помечено как для внутреннего использования, и вам нужно запустить базу данных с помощью специальный параметр для его работы. Команда forceerror выглядит как еще одна хорошая, но опять же, она указана только для внутреннего использования, и описание является неопределенным, если не сказать больше.
Мне интересно, есть ли какой-либо рекомендуемый (желательно не слишком хакерский) способ сделать это.