2014-07-06 33 views
2

有沒有在Rspec中使用Nokogiri的方法?Nokogiri與Rspec

特別是我試圖從一個控制器動作的響應和轉換是爲引入nokogiri對象page並運行像下面的一個引入nokogiri特定解析:

page.search('input[name="some_name"]').size.should == 1 

我在哪裏包括引入nokogiri - 會那是在spec_helper.rb?

如何將ActionController::TestResponse轉換爲Nokogiri對象?

或者是否有可能通過使用普通的Rspec語法來運行上述類型的斷言?

+2

聽起來像水豚(https://github.com/jnicklas/capybara)(特別是查詢模塊)是。 – sevenseacat

回答

0

如果你不使用capybara,通過@sevenseacat的建議,你可以這樣做:

page = Nokogiri::HTML(response.body) 

然後使用Nokogiri搜索方法。但capybara確實是一個更好的方式去,因爲它包含了查詢模塊,它可以讓你做的事情一樣

expect(page).to have_css('input[name=some_name]', count:1)