7

カピバラでRailsアプリのリクエストスペックを書いています。私のコードでは、次のようなものがあります。

%table
  %tbody
     %tr{"on_click" => "location.href='some_link'"}
       %td="Some attribute"
       %td="Some attribute"
       %td="Some attribute"
       %td="Some attribute"

このようにして、行全体をクリック可能にします。この機能のためにカピバラでリクエストスペックを書きたいのですが、方法がわかりません。誰でもこれについて私を助けることができますか?

ありがとうございました

4

3 に答える 3

6

まず、レールでのテストについて理解する必要があるかもしれません。これをチェックしてください!http://railscasts.com/episodes/275-how-i-test本当に役に立ちます。trクラスを与えて(たとえば) .tr、行うことができます

page.find(:css, ".tr").click()

これがうまくいくことを願っています、私の場合はうまくいきました!

于 2012-05-25T18:09:58.083 に答える
5

クラスを必要とせずにこれが機能することがわかりました:

page.find(:xpath, "//table/tbody/tr").click

行クリックには JavaScript が必要だと思うので:js => true、テストのヘッダーに追加する必要があります。JavaScript を使用したテストのセットアップは困難です。以下のリソースが役に立ちました。

より完全なテスト例を次に示します。

# Note that opening page by clicking on row requires JavaScript
describe "when user clicks on first row", :js => true do

  let(:first_account_listed) { Account.order(:name).first }

  before { page.find(:xpath, "//table/tbody/tr").click }

  it { should have_selector('title', text: 'Account Details') }

end
于 2012-09-14T03:49:06.863 に答える