Запуск тестов CI, которые основаны на эмуляторе firestore - PullRequest
0 голосов
/ 18 марта 2020

У меня есть несколько тестов безопасности, которые я могу запустить локально на эмуляторе firestore. Процесс выглядит следующим образом:

На вкладке терминала 1 запустите эмулятор:

firebase emulators:start --only firestore

На вкладке терминала 2 запустите тесты

yarn test rules

Я бы хотел запустить эти тесты как GitHub Actions для CI. В настоящее время это выглядит так:

- name: Test Security Rules
  run: |
    firebase emulators:start --only firestore
    yarn test rules

Проблема в том, что запуск эмуляторов не возвращается, поэтому он зависает и в конечном итоге истекает время.

emulators: All emulators started, it is now safe to connect.

Я надеюсь выяснить, как чтобы запустить эмулятор, узнайте, когда он будет готов (или подождите N секунд), запустите тесты, а затем (необязательно) закройте процесс.

1 Ответ

1 голос
/ 18 марта 2020

Пожалуйста, прочитайте документацию для запуска эмуляторов Firebase . Вам может понадобиться аргумент emulators:exec <scriptpath>:

Запустите сценарий в пути сценария после запуска эмуляторов для продуктов Firebase, настроенных в firebase. json. Процессы эмулятора автоматически остановятся, когда скрипт завершит работу.

Если вы передадите ему имя команды для запуска, CLI запустит эту команду для вас после ее завершения, а затем завершит процесс, когда сценарий будет завершен.

...