Как вызвать "mongoimport" из дочернего процесса Node.js на Travis-CI.org?

Первый вопрос на SO... извините, если это пойдет не так.

Я использую Mocha для тестирования модуля Node.js. Модуль использует child_process.exec() позвонить mongoimport команда... если все идет хорошо, следует загрузить некоторые тестовые данные в базу данных MongoDB.

Все тесты проходят на моем ноутбуке (Node 6.9, MongoDB v3.4.1), но когда я перехожу к использованию Travis-CI.org, все не получается:

{
"killed": false,
"code": 127,
"signal": null,
"cmd": "mongoimport -h localhost:27017 -d test -c test_planets --type json --file \"/tmp/planet.json\" --upsertFields planetName"
}

... потому что, я думаю, он не находит mongoimport команда?

SO помог мне указать на этот файл.travis.yml, который, кажется, прекрасно работает для запуска V3 MongoDB:

language: node_js
node_js:
  - "6.9"
sudo: false
addons:
  apt:
    sources:
      - mongodb-upstart
      - mongodb-3.0-precise
    packages:
      - mongodb-org-server
      - mongodb-org-shell

before_script:
  - sleep 15

... и я рад, что MongoDB доступен (другие тесты подключены и пройдены). Мне нужна свежая версия для всех новых вещей.

  • Но я врезался в стену о том, как запустить mongoimport команда от дочернего процесса Node.js в Travis-CI (также новичок в этом). Это вообще возможно?

Любая помощь очень ценится!

Тим

1 ответ

Решение

Просто добавьте "mongodb-org-tools" в раздел пакетов вашего файла.travis.yml. Это сделает команду mongoimport доступной.

Другие вопросы по тегам