2012-03-15 4 views
0

실패?레일 테스트

http://dl.dropbox.com/u/15024055/CloudShot/shot_15032012_232654.png

require 'spec_helper' 

describe "SnippetsPages" do 

    describe "New Snippet pages" do 
     before { get 'new'} 

     it { should have_selector('h1', content: 'New') } 
     it { should have_selector('title', content: full_title('New Snippet')) } 
    end 


    describe "View Snippets pages" do 
     before { get 'view' } 

     it { should have_selector('h1', content: 'View') } 
     it { should have_selector('title', content: full_title('View Snippets')) } 
    end 
end 
나는 이해할 수 없다

왜 내 테스트는 다음 작업 도우미되지 않습니다

def full_title(page_title) 
    base_title = "Sample App" 
    if page_title.empty? 
     base_title 
    else 
     page_title 
    end 
end 

ErrorMessage가

Failures: 

    1) SnippetsPages New Snippet pages 
    Failure/Error: it { should have_selector('h1', content: 'New') } 
     expected following output to contain a <h1>New</h1> tag: 
     <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> 
     <html><body><p>New Snippet pages</p></body></html> 
    # ./spec/requests/snippets_pages_spec.rb:8:in `block (3 levels) in <top (required)>' 

    2) SnippetsPages New Snippet pages 
    Failure/Error: it { should have_selector('title', content: full_title('New Snippet')) } 
     expected following output to contain a <title>Ruby on Rails Tutorial Sample App | New Snippet</title> tag: 
     <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> 
     <html><body><p>New Snippet pages</p></body></html> 
    # ./spec/requests/snippets_pages_spec.rb:9:in `block (3 levels) in <top (required)>' 

    3) SnippetsPages View Snippets pages 
    Failure/Error: it { should have_selector('h1', content: 'View') } 
     expected following output to contain a <h1>View</h1> tag: 
     <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> 
     <html><body><p>View Snippets pages</p></body></html> 
    # ./spec/requests/snippets_pages_spec.rb:16:in `block (3 levels) in <top (required)>' 

    4) SnippetsPages View Snippets pages 
    Failure/Error: it { should have_selector('title', content: full_title('View Snippets')) } 
     expected following output to contain a <title>Ruby on Rails Tutorial Sample App | View Snippets</title> tag: 
     <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> 
     <html><body><p>View Snippets pages</p></body></html> 
    # ./spec/requests/snippets_pages_spec.rb:17:in `block (3 levels) in <top (required)>' 

Finished in 1.12 seconds 
11 examples, 4 failures 

Failed examples: 

rspec ./spec/requests/snippets_pages_spec.rb:8 # SnippetsPages New Snippet pages 
rspec ./spec/requests/snippets_pages_spec.rb:9 # SnippetsPages New Snippet pages 
rspec ./spec/requests/snippets_pages_spec.rb:16 # SnippetsPages View Snippets pages 
rspec ./spec/requests/snippets_pages_spec.rb:17 # SnippetsPages View Snippets pages 

업데이트

방문으로 교체하면 작동하지 않습니다. 그녀가 더 많은 정보입니다.

--Versions--

➜ sample_app git:(modeling-users) ✗ rails -v 
Rails 3.1.3 

➜ sample_app git:(modeling-users) ✗ ruby -v 
ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux] 

➜ sample_app git:(modeling-users) ✗ rspec -v 
2.6.4 

--end Versions--

gemfile 

source 'http://rubygems.org' 

gem 'rails', '3.1.3' 
gem 'bootstrap-sass', '2.0.0' 

# Bundle edge Rails instead: 
# gem 'rails',  :git => 'git://github.com/rails/rails.git' 

gem 'sqlite3' 


# Gems used only for assets and not required 
# in production environments by default. 
group :assets do 
    gem 'sass-rails', '~> 3.1.5' 
    gem 'coffee-rails', '~> 3.1.1' 
    gem 'uglifier', '>= 1.0.3' 
end 

gem 'jquery-rails' 

group :development do 
    gem 'rspec-rails' 
    gem 'spork' 
    gem 'guard-rspec', '0.5.5' 
    gem 'annotate', '~> 2.4.1.beta' 
end 

group :test do 
    gem 'rspec-rails' 
    gem 'spork' 
    gem 'webrat' 
    gem 'capybara', '1.1.2' 
    gem 'rb-inotify', '0.8.8' 
    gem 'libnotify', '0.5.9' 
end 

➜ sample_app의 자식 : (모델링 사용자) ✗ 보석 목록

*** LOCAL GEMS *** 

actionmailer (3.1.3) 
actionpack (3.1.3) 
active_reload (0.6.1) 
active_utils (1.0.3, 1.0.2) 
activemerchant (1.20.1) 
activemodel (3.1.3) 
activerecord (3.1.3) 
activeresource (3.1.3) 
activesupport (3.1.3) 
acts_as_list (0.1.4) 
akami (1.0.0) 
annotate (2.4.1.beta1) 
ansi (1.4.2) 
arel (3.0.0, 2.2.3, 2.2.1) 
bcrypt-ruby (3.0.1) 
bootstrap-sass (2.0.0) 
braintree (2.13.4) 
builder (3.0.0) 
bundler (1.0.21) 
cancan (1.6.7) 
capybara (1.1.2) 
childprocess (0.3.1) 
cocaine (0.2.1) 
coffee-rails (3.1.1) 
coffee-script (2.2.0) 
coffee-script-source (1.2.0) 
commonjs (0.2.0) 
deface (0.7.2) 
devise (1.4.8) 
diff-lcs (1.1.3) 
erubis (2.7.0) 
execjs (1.3.0) 
ffaker (1.12.1) 
ffi (1.0.11) 
githug (0.1.0) 
grit (2.4.1) 
guard (1.0.1) 
guard-rspec (0.5.5) 
gyoku (0.4.4) 
highline (1.6.8) 
hike (1.2.1) 
httpi (0.9.6, 0.9.5) 
i18n (0.6.0) 
jquery-rails (1.0.19) 
json (1.6.5) 
kaminari (0.13.0) 
less (2.0.9) 
less-rails (2.1.6) 
libnotify (0.5.9) 
libv8 (3.3.10.4 x86-linux) 
mail (2.3.0) 
meta_search (1.1.1) 
mime-types (1.17.2) 
money (3.7.1) 
multi_json (1.1.0, 1.0.4) 
my_string_exstenderz (0.0.1) 
nested_set (1.6.8) 
nokogiri (1.5.0) 
nori (1.1.0, 1.0.2) 
orm_adapter (0.0.6) 
paperclip (2.5.0) 
polyamorous (0.5.0) 
polyglot (0.3.3) 
rack (1.3.6) 
rack-cache (1.1) 
rack-mount (0.8.3) 
rack-ssl (1.3.2) 
rack-test (0.6.1) 
rails (3.1.3) 
railties (3.1.3) 
rake (0.9.2.2) 
rb-inotify (0.8.8) 
rdoc (3.12) 
rspec (2.6.0) 
rspec-core (2.6.4) 
rspec-expectations (2.6.0) 
rspec-mocks (2.6.0) 
rspec-rails (2.6.1) 
rubygems-update (1.8.17) 
rubyzip (0.9.6.1) 
sass (3.1.15, 3.1.14, 3.1.12) 
sass-rails (3.1.5) 
savon (0.9.9, 0.9.7) 
selenium-webdriver (2.20.0) 
spork (1.0.0rc1) 
spree (1.0.0) 
spree_api (1.0.0) 
spree_auth (1.0.0) 
spree_cmd (1.0.0) 
spree_core (1.0.0) 
spree_dash (1.0.0) 
spree_promo (1.0.0) 
spree_sample (1.0.0) 
sprockets (2.0.3) 
sqlite3 (1.3.5) 
state_machine (1.1.1) 
stringex (1.3.2, 1.3.0) 
therubyracer (0.9.10) 
thor (0.14.6) 
tilt (1.3.3) 
treetop (1.4.10) 
turn (0.8.2) 
twitter-bootstrap-rails (2.0.3) 
tzinfo (0.3.31) 
uglifier (1.2.3) 
warden (1.0.6) 
wasabi (2.1.0, 2.0.0) 
webrat (0.7.3) 
xpath (0.1.4) 

답변

0

it 전화 subject에 matchers.

제 생각에는 subject이 두 번째 경우에 response이 아닙니다.

capybara를 사용하는 경우 getvisit으로 바꾸면 모든 것이 잘됩니다. 내 사양에 get으로 visit을 대체하면 비슷한 오류가 발생합니다.

도움이되지 않는다면 환경에 대한 정보를 추가하십시오. 루비와 레일 버전, 보석 등을 사용했습니다.

+0

내 게시물이 더 많은 정보로 업데이트되었습니다. – Darkmage