4

У меня есть проблема с использованием actioncable с характеристиками функций с использованием Capybara-webkit. Actioncable отлично работает на моем сервере разработки, но при тестировании javascript can not, похоже, подключается.ActionCable не подключается во время использования capybara-webkit spec

Это выход из консоли JavaScript, который работает во время моей художественной спецификации

WebSocket connection to 'ws://127.0.0.1:32789/cable' failed: Unexpected response code: 200 

Это выход из моих test.log в тот момент

GET  "/cable" for 127.0.0.1 at 2017-01-26 13:33:23 +0000 
GET  "/cable/" for 127.0.0.1 at 2017-01-26 13:33:23 +0000 
Successfully upgraded to WebSocket (REQUEST_METHOD: GET, HTTP_CONNECTION: Upgrade, HTTP_UPGRADE: websocket) 

его странным, потому что кажется, как и его соединение штрафа согласно журналу, но javascript выдает ошибку и прекращает выполнение ... Также как 200 код ошибки? Код 200 всегда означает OK?

Заранее спасибо

+0

Сервер WebSocket должен ответить '101 Switching Protocols'. –

ответ

8

сервер по умолчанию, используемый Капибара является: WEBrick который не поддерживает тестирование ActionCable (она будет меняться всякий раз, когда Капибара 3.0). Чтобы переключить его на использование puma, который будет поддерживать тестирование с помощью ActionCable, вы можете указать Capybara.server = :puma как часть вашей конфигурации Capybara.

+0

Решила немедленно, спасибо. –

+0

убедитесь, что требуется «puma», и добавьте его в свой файл gems или gemspec –