Dav*_*ite 3 testing capybara rspec2 ruby-on-rails-3
我只是不确定说出来的确切方法是什么..
这告诉我'还没有回应.首先请求页面.
it "should list searches" do
get 'index'
page.should have_selector('tr#search-1')
end
Run Code Online (Sandbox Code Playgroud)
这意味着是这样吗?
it "should list searches" do
get 'index' do
page.should have_selector('tr#search-1')
end
end
Run Code Online (Sandbox Code Playgroud)
这种方式似乎并没有真正测试任何东西.
什么是正确的方法?
的get,post等方法是的一部分功能测试接口为Rails控制器测试,这是一个完全独立的测试系统.你不能在Capybara中使用它们.
对于GET请求,请改用Capybara的visit方法.
对于其他请求类型(POST,PUT,...),要么执行用户所做的操作,要么访问带有表单的页面以填写并提交.或者,如果您正在测试API,请在不使用Capybara的情况下为您的控制器编写功能测试,如下所示:
post :index
response.status.should == 200
response.body.should contain('Hello World')
Run Code Online (Sandbox Code Playgroud)
另请参阅Jonas的帖子,了解为什么不应该使用Capybara测试API.
| 归档时间: |
|
| 查看次数: |
5650 次 |
| 最近记录: |