0

特定のノードを分離してテストしたいと考えています。

たとえば、代わりに

get :show
response.should have_content(@user.name)

次のようなものを書くことができる方が、より説明的/正しいでしょう

get :show
profile = response.find_selector("div.user-profile")
profile.should have_content(@user.name)

出来ますか?

アップデート

ピーターの答えを読んだ後、これをもう少し進めましたが、まだ要素が見つかりません。

app\views\users\index.html.erb

<h1>Users</h1>
<div id="test"></div>

spec\controllers\users_controller_spec.rb

require 'spec_helper'

describe UsersController do

  render_views

  it "should should have header" do
    get :index
    response.should have_selector("h1", content: "Users")        
  end

  it "should show user profile" do
    get :index
    node = page.find_by_id("test")
    p node
  end

end

最初のテストはパスしますが、2 番目のテストではElementNotFoundエラーが発生します。これがRailsでの私の最初の試みであるため、私はおそらく愚かなことをしているだけです.

4

1 に答える 1