Ich fand die Lösung. Das Problem trat auf, weil ich meine App mit orats
generierte und das ActionCable vom Webserver getrennt vorkonfigurierte (als separaten Andock-Container).
folgendes hinzugefügt funktioniert:
# rails_helper.rb
Capybara.server = :puma
# docker-compose.yml
services:
...
tests:
depends_on:
- 'redis'
- 'postgres'
- 'box'
build: .
volumes:
- '.:/app'
volumes_from:
- box # busybox image to cache bundle install
env_file:
- '.env'
environment:
RAILS_ENV: test
ACTION_CABLE_MOUNT: '/cable'
command: /bin/true
# config/environments/test.rb
config.action_cable.url = nil
config.action_cable.mount_path = ENV["ACTION_CABLE_MOUNT"]
Dann
docker-compose run tests bundle exec rspec
Voila laufen!
Was meinen Sie mit "funktioniert nicht", welche Fehler bekommen Sie? Was sind deine Treiberkonfigurationen? Was ist dein Capybara-Setup? Was ist Ihre Rails-Konfiguration, führen Sie ein laufendes Aktionskabel in der Testumgebung aus? –
@ThomasWalpole Ich werde alle Konfiguration in die Frage stellen, sorry. Was meinst du mit laufendem Aktionskabel in der Testumgebung? Ich weiß nicht, wie ich das machen soll. ActionCable wird im Redis-Adapter in allen Umgebungen ausgeführt. Danke für Ihre Hilfe. –