이 응용 프로그램은 Capybara에서 Minitest on Rails 4를 사용하고 있습니다.레일즈에서 테스트를 위해 websocket 메시지를 스텁 (stub) 할 수 있습니까?
WebSocket 연결을 스텁 (stuck)하는 응용 프로그램 (예 : Faye를 클라이언트로 사용함)에서 특정 메시지를 반환하는 기능 (예 : Webmock을 사용하는 것처럼)을 작성하고 싶습니다.
이것이 가능합니까? 그렇다면 예제를 제공해 줄 수 있습니까? 나의 연구는 어떤 예도 보여주지 않았다.
당신의 연구는 기능 테스트에서 당신이해야 할 일이 아니기 때문에 어떤 예제도 보여주지 못했습니다. 기능 테스트는 앱이 원하는 결과를 생성하는 데 필요한대로 데이터를 구성한 다음 브라우저를 통해 모든 상호 작용이 수행되는 엔드 투 엔드 블랙 박스 테스트로 간주됩니다 (조롱/스텁 없음). 외부 앱의 응답을 설정해야하는 경우 해당 앱의 가짜 앱을 구현하여 대신 사용하십시오. –
"해당 앱을 위조하여 대신 사용하십시오." 모의/스텁이하는 일이 아닌가요? 내 테스트가 실제 외부 서비스에 의존하지 않는 것이 좋습니다. –
아니요 - 모의 또는 스텁이 실제 앱 코드를 변경합니다 (결과에 원숭이 패치 적용). 가짜는 외부 서비스를 대체/위장하는 별도의 작은 앱이므로 피싱 (puffing)과 같은 프로그래밍 가능한 프록시를 사용하여 가짜를 구현할 수도 있습니다. billy - 웹 소켓에서는 작동하지 않을 수도 있습니다. –