Тестовая интеграция между двумя приложениями rails
Я занимаюсь разработкой системы, состоящей из двух разных приложений rails (сервер и клиент), которые взаимодействуют через остальные веб-сервисы.
У меня есть тесты для каждого приложения в отдельности, но я хотел бы добавить некоторые тесты для интеграции между двумя платформами, чтобы утверждать, что одна создает запрос, совместимый с тем, что ожидает другая.
Любые советы будут оценены.
2 ответа
У меня похожая архитектура, и мы используем видеомагнитофон, чтобы записывать все ответы на стороне сервера и всегда избегать запросов. Это может стать раздражающим, и сейчас я ищу способ очистки данных с сервера после каждого запроса
Я думаю, что видеомагнитофон может стать хорошей отправной точкой для тестирования интеграции между вашими приложениями.
Вы можете найти документацию здесь -> Relish Docs
Я думаю, что здесь может быть несколько подходов, в зависимости от того, что вы реализовали..
Если клиентское приложение Rails имеет пользовательский интерфейс, попробуйте написать тесты Selenium, чтобы выполнить интеграционный тест в локальной среде разработки или в промежуточной среде, в которой оба были развернуты. (не идеально, если интерфейс все еще является прототипом, часто меняется...)
Может быть, часть клиента может быть написана как драгоценный камень Ruby (например, коммуникационный остальной API является драгоценным камнем ruby). Когда серверное приложение находится в среде тестирования, серверное приложение Rails может использовать гем Client для запуска интеграционного теста, то есть вызова функции модуля, та же функция используется клиентом. Клиентское приложение Rails также может использовать гем для отправки запросов на сервер. Вот хорошее руководство, чтобы начать перенос части вашего повторно используемого кода на rubygem.