0
我想做一個簡單的應用程序。當我在瀏覽器中進行測試時,everytyhing工作得很好。 Howerver,當我嘗試運行RSpec(2.5)的某些測試時,它失敗了:創建控制器測試。RSpec和怪異的測試結果
這裏是我的創造方法:
def create
@website = Website.new(params[:website])
if @website.save
flash[:notice] = "Website created."
redirect_to(:action => 'list')
else
render('new')
end
end
控制器測試:
describe WebsitesController do
render_views
.
.
.
describe "POST 'create'" do
before(:each) do
@attr = { :adres => "www.excc.pl", :opis => "aaa "*22, :tagi => "aaa aaa aaa",
:preview => File.new(Rails.root + 'spec/fixtures/rails.png'),
:preview_mini => File.new(Rails.root + 'spec/fixtures/rails.png')}
end
describe "success" do
it "should have the right title" do
response.should have_selector("title", :content=>"Lista witryn w portfolio")
end
end
.
.
.
這個測試的結果:
1) WebsitesController POST 'create' should have the right title
Failure/Error: response.should have_selector("title", :content=>"Lista witryn w portfolio")
expected following output to contain a <title>Lista witryn w portfolio</title> tag:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
# ./spec/controllers/websites_controller_spec.rb:34:in `block (4 levels) in
websites_controller_spec.rb:34指到c reate方法
然而,這個測試是正確傳遞(對於不正確的數據應該被重定向回與指定標題「新」的網站):
it "should have the right title" do
post :create, :website => @attr.merge(:adres => "")
response.should have_selector("title", :content=>"Dodaj stronę WWW")
end
第二個問題是...... 有一個當我有一個測試結果這樣的時刻:
<html><body>You are being <a href="http://test.host/websites/list">redire cted</a>.</body></html>
...這是造成我拉我的頭髮了一段時間,直到我做了某事(我真的不知道是什麼)和它不見了。然而,當我認爲它可能會在未來回來毀了我的幸福時,它會讓我感到害怕。
對此的任何想法將不勝感激。
我已經在下面發佈我的答案... – 2011-04-04 09:27:00