QA@IT
«質問へ戻る

質問を投稿

Turnipで Capybara-webkitを作動させたいのですが?

RailsのEnd to End テストを書いています。マイブームのTurnip 注1) を使ってCucumberより簡単に書けることを感じていたのですが、JavaScriptの解釈をさせるのに Capybara-webkitを使えばよいとして、実際のxx_steps.rbでどう書けばよいのかわかりません。

RSpecでCapybara/Capybara-webkitを使うには :js => true ですが

Capybara.javascript_driver = :webkit としておけば、describe や it に :js => true がついてる奴だけ capybara-webkit を使ってくれる...

注2)

Ruby1.9以降は js: true がすっきり

context "span#touchmeをクリックすると", js: true do
    before { find("span#touchme").click }

    specify do
      within('#message') do
        expect(page).to have_content("Hello!")
      end
    end
  end

注3)

Turnipのxx_steps.rb で step節に ,js: true を入れると

step '日本語表示にする',js: true do
  click_link '日本語'
end
wrong number of arguments (2 for 1) (ArgumentError)

をくらいます。

Turnipで Capybara-webkit を使う方法を求めています。よろしくお願いします。

参考

注1) TurnipがCucumberの問題を解決しようとしている!
https://twitter.com/iR3/status/279448539090800640

注2) capybara-webkit を headless(画面なし・Xなし)で動かした
http://d.hatena.ne.jp/babie/20110430/1304136144

注3) RSpecとCapybaraでJavaScript/Ajaxをテストする
http://www.oiax.jp/rails/zakkan/testing_javascript_with_rspec_and_capybara.html

Capybara-webkitによる高速インテグレーションテストまとめ
http://d.hatena.ne.jp/sandmark/20120403/1333447180

RailsのEnd to End テストを書いています。マイブームのTurnip 注1) を使ってCucumberより簡単に書けることを感じていたのですが、JavaScriptの解釈をさせるのに Capybara-webkitを使えばよいとして、実際のxx_steps.rbでどう書けばよいのかわかりません。

RSpecでCapybara/Capybara-webkitを使うには :js => true ですが 

```
Capybara.javascript_driver = :webkit としておけば、describe や it に :js => true がついてる奴だけ capybara-webkit を使ってくれる...
```
注2)

Ruby1.9以降は js: true がすっきり

```
context "span#touchmeをクリックすると", js: true do
    before { find("span#touchme").click }

    specify do
      within('#message') do
        expect(page).to have_content("Hello!")
      end
    end
  end
``` 
注3)

Turnipのxx_steps.rb で step節に ,js: true を入れると 

```
step '日本語表示にする',js: true do
  click_link '日本語'
end
```

```
wrong number of arguments (2 for 1) (ArgumentError)
```
をくらいます。

Turnipで Capybara-webkit を使う方法を求めています。よろしくお願いします。

## 参考

注1) TurnipがCucumberの問題を解決しようとしている!
https://twitter.com/iR3/status/279448539090800640

注2) capybara-webkit を headless(画面なし・Xなし)で動かした
http://d.hatena.ne.jp/babie/20110430/1304136144

注3) RSpecとCapybaraでJavaScript/Ajaxをテストする
http://www.oiax.jp/rails/zakkan/testing_javascript_with_rspec_and_capybara.html

Capybara-webkitによる高速インテグレーションテストまとめ
http://d.hatena.ne.jp/sandmark/20120403/1333447180