2013-11-26 2 views
0

나는 주 화면이 미리 정의 된 프로세스 흐름 (user1 입력 정보, user2 입력 정보 등)에 따라 다른 사용자에 의해 편집되는 복잡하고 깊이 중첩 된 양식으로 구성되는 매우 큰 레일 애플리케이션을 보유하고 있습니다.레일 : Rspec + 카피 바라 + 원격 양식?

Rspec + Capybara를 사용하여 매우 긴 테스트를 작성하여 원격 프로세스 (원격 : true로 설정)를 사용하기 전까지는 정상적으로 작동하는 전체 프로세스를 테스트했습니다.

이 시점에서 동일한보기 (제출할 때 js, 다른 모든 드라이버는 일반 드라이버)에서 다른 것들을 테스트하기 위해 js 드라이버와 일반 드라이버를 전환해야합니다. 그러나 찾을 수없는 것 같습니다. 어떻게하는지에 대한 예.

주된 문제는 js : true를 설정하고 다른 변경 작업을 수행하여 별도의 테스트를 실행할 수 있다고 가정 한 모든 테스트 문서입니다.하지만 내 문제는 내에서 일어날 모든 것을 필요로합니다. 이벤트 시퀀스와 동일한 테스트가 중요합니다.

모든 제안은 높이 평가 될 것입니다.

답변

0

위의 중첩 된 테스트를 변경하지 않고 다른 capybara 드라이버를 사용하여 테스트를 중첩시킬 수는 없다고 생각합니다. rack_test에서 webkit 또는 selenium으로 변경하면 변경 사항이 적용되지 않습니다. 필자는 capybara를 사용하여 변경 사항을 탐지하는 비슷한 문제를 겪었습니다. remote => true set은 webkit 드라이버와 작동하도록했습니다. Capybara, Javascript and RSpec Integration Tests with :remote => true

원격 폼을 테스트하기 전에 수행해야 할 단계를 코드를 유지하기 위해 이전 블록에서 호출 할 수있는 방법으로 리팩토링하고 싶을 수도 있습니다 깨끗한.