2010-08-15 3 views
1

Capybara의 Webrat을 새로운 Rails 3 프로젝트로 교체했습니다. Tim Liley의 위대한 게시물 (여기 http://openmonkey.com/articles/2010/04/javascript-testing-with-cucumber-capybara)을 실행하고 저장소를 복제하고 예제 오이 기능을 실행하고 브라우저 창을 열어 보았습니다. 그래서 전체 오이, 카피 바라, 셀레늄 스택은 그 경우에 잘 작동하는 것 같습니다.Rails 3 프로젝트의 Cucumber에서 Capybara @javascript 태그를 올바르게 실행하려면 어떻게해야합니까?

그러나 새로운 레일스 3 프로젝트를 생성하고 비슷한 예제 프로젝트를 설정하고 시나리오를 @javascript로 주석 달면 브라우저 창이 열리지 않으며 오이 시나리오는 보통 Command failed with status (1) event으로 실패합니다. 실패 또는 보류 단계의 경우, CI 도구의 이점을 고려하여 설계된 오이 트리거).

Capybara에서 제공하는 @javascript 기능 외에도 다른 모든 기능이 정상적으로 작동합니다.

엄청난 분명한 사실을 놓치고 있습니까? BDD 초보자가 이슈를 더 깊이 들여다 볼 수있는 방법이 있습니까 (스택 추적은 Cucumber가 실패 할 때 표준 갈퀴 오류 만 보여줍니다).

  • RVM 1.9.2 헤드
  • 보석 '레일', '3.0.0.rc'
  • 보석 '오이'
  • 보석 '오이 레일'
  • 보석 '카피 바라'
  • 보석 'culerity'
  • 보석 '민첩함': 필요 => nil을

답변

5

문제는 오이 레일 DatabaseCleaner 빠진 의존성 사실이다. 기본적으로 오이 옵션은 사실을 경고하는 경고를 표시하지 않습니다. 오이를 실행할 때

std_opts = "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} --strict --tags [email protected]"

오류가 표시됩니다 :에 config/cucumber.yml를 업데이트하여 uninitialized constant DatabaseCleaner (NameError)

이 경우 빠른 수정 프로젝트의 Gemfilegem 'database_cleaner'를 추가하는 것입니다. github.com/lailsonbm/contact_manager_app/

+0

그는 천재입니다! 정말 고마워 :) –

1

칼슘 pybara는 실제로 필요할 때 브라우저 창을 먼저 여는 "게으른"것입니다. 브라우저를 필요로하는 뭔가를 실제로한다면 Capybara는 브라우저를 열지 않습니다.

+0

나는 행운과 팀의 예에서와 같은 자바 스크립트에 의존하는 단계를 다시 한 : – justsee

1

아마도 잡종 보석을 설치하지 않았을 것입니다. 브라우저 자동화가 어떻게 든 webrick과 함께 작동하지 않으며 나는 당신이 여기서 묘사 한 것과 똑같은 침묵을 경험했습니다. 내 Gemfile이 그것을 해결에

, '잡종' '> = 1.2.0.beta.1'

보석 추가. 오이 기능에 @javascript 태그를 추가 할 때 http://github.com/aslakhellesoy/cucumber-rails/issues#issue/36

문제가 발현된다

1

는 그 구성 방법에 대한 예제 응용 프로그램을 만들었다.조금 더 머리를 긁으면 나는 대답이 나타날 것이라고 확신합니다!
관련 문제