我的Java Web应用正在Tomcat上运行,地址为http://localhost:8080/
编写我的第一个规范,home_spec:
require 'spec_helper'
describe "home" do
it "should render the home page" do
visit "/"
page.should have_content("hello world")
end
end
并运行:
rspec
我得到:
F
Failures:
1) home should render the home page
Failure/Error: visit "/"
NoMethodError:
undefined method `visit' for #<RSpec::Core::ExampleGroup::Nested_1:0x242870b7>
# ./spec/home/home_spec.rb:7:in `(root)'
Finished in 0.012 seconds
1 example, 1 failure
Failed examples:
rspec ./spec/home/home_spec.rb:6 # home should render the home page
我已经在spec_helper中包含了capybara,这个应该可以工作,是吗?
它怎么知道访问正确的网址?如果我的url是localhost:3030或localhost:8080会怎样?
我的Gemfile文件:
source 'http://rubygems.org'
gem "activerecord"
gem "rspec"
gem "capybara"
gem "activerecord-jdbcmysql-adapter"
我的spec_helper:
require 'capybara/rspec'
--no-test-unit
会以某种方式影响它。 - Jason Kimspec/integration
(在我的情况下)重命名为spec/features
,但这并没有帮助。根据上面的答案修改spec_helper.rb
是有效的。 - Tassrails_helper.rb
中。 - Artem Pconfig.include Capybara::RSpecMatchers
。 - Sergey Makridenkov