加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 使用Rspec和Capybara设置新的RoR项目

发布时间:2020-12-17 02:18:21 所属栏目:百科 来源:网络整理
导读:我试图在 this tutorial之后学习RoR并且我目前在第3章.如果我逐行跟踪它,该教程工作正常.但是,本教程中使用的命令会禁止生成默认测试.当我试图保留它们并可能在我的项目中使用它时,我总是在某个地方撞墙. 你能告诉我我做错了什么吗? $rails new myproject$c
我试图在 this tutorial之后学习RoR并且我目前在第3章.如果我逐行跟踪它,该教程工作正常.但是,本教程中使用的命令会禁止生成默认测试.当我试图保留它们并可能在我的项目中使用它时,我总是在某个地方撞墙.

你能告诉我我做错了什么吗?

$rails new myproject
$cd myproject/
$echo "gem 'rspec'" >> Gemfile
$echo "gem 'rspec-rails'" >> Gemfile
$echo "gem 'capybara'" >> Gemfile
$bundle install
$bundle --binstubs
$rails generate rspec:install
$rails generate controller StaticPages home help about

然后我编辑spec / views / static_pages / home.html.erb_spec.rb文件,以测试capybara是否有效:

require 'spec_helper'
#require 'capybara'
#require 'capybara/rails'
#require 'capybara/rspec'

describe "static_pages/home.html.erb" do
  it 'should have a right title' do
    visit '/static_pages/home'
    page.should have_selector('title',:text => 'Home')
  end
end

显然,在这一点上运行bin / rspec会导致失败.那么,可能会出现失败.其中一次失败的原因更令人担忧:

1) static_pages/home.html.erb should have a right title
     Failure/Error: visit '/static_pages/home'
     NoMethodError:
       undefined method `visit' for #<RSpec::Core::ExampleGroup::Nested_5:0x00000003dfd268>
     # ./spec/views/static_pages/home.html.erb_spec.rb:7:in `block (2 levels) in <top (required)>'

尚未发现AFAIK是Capybara的一部分的访问方法.取消注释home.html.erb_spec.rb中的三个额外要求不会更改结果中的任何内容.

我有什么想法我做错了吗?或者我应该做得更好?

Rails版本:3.2.6

解决方法

将测试放在请求目录而不是视图中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读