Rails中的测试RSpec升级遇到的问题

 1 bundle exec rspec spec/
 2 /home/wuxj/Prac/rrprac/sample_app/spec/spec_helper.rb:20:in `block in <top (required)>‘: uninitialized constant Capybara (NameError)
 3     from /.rvm/gems/ruby-2.1.2/gems/rspec-core-3.0.4/lib/rspec/core.rb:79:in `configure‘
 4     from /sample_app/spec/spec_helper.rb:17:in `<top (required)>‘
 5     from /.rvm/gems/ruby-2.1.2/gems/rspec-core-3.0.4/lib/rspec/core/configuration.rb:1025:in `require‘
 6     from /.rvm/gems/ruby-2.1.2/gems/rspec-core-3.0.4/lib/rspec/core/configuration.rb:1025:in `block in requires=‘
 7     from /.rvm/gems/ruby-2.1.2/gems/rspec-core-3.0.4/lib/rspec/core/configuration.rb:1025:in `each‘
 8     from /.rvm/gems/ruby-2.1.2/gems/rspec-core-3.0.4/lib/rspec/core/configuration.rb:1025:in `requires=‘
 9     from /.rvm/gems/ruby-2.1.2/gems/rspec-core-3.0.4/lib/rspec/core/configuration_options.rb:101:in `block in process_options_into‘
10     from /.rvm/gems/ruby-2.1.2/gems/rspec-core-3.0.4/lib/rspec/core/configuration_options.rb:100:in `each‘
11     from /.rvm/gems/ruby-2.1.2/gems/rspec-core-3.0.4/lib/rspec/core/configuration_options.rb:100:in `process_options_into‘
12     from /.rvm/gems/ruby-2.1.2/gems/rspec-core-3.0.4/lib/rspec/core/configuration_options.rb:22:in `configure‘
13     from /.rvm/gems/ruby-2.1.2/gems/rspec-core-3.0.4/lib/rspec/core/runner.rb:96:in `setup‘
14     from /.rvm/gems/ruby-2.1.2/gems/rspec-core-3.0.4/lib/rspec/core/runner.rb:85:in `run‘
15     from /.rvm/gems/ruby-2.1.2/gems/rspec-core-3.0.4/lib/rspec/core/runner.rb:70:in `run‘
16     from /.rvm/gems/ruby-2.1.2/gems/rspec-core-3.0.4/lib/rspec/core/runner.rb:38:in `invoke‘
17     from /.rvm/gems/ruby-2.1.2/gems/rspec-core-3.0.4/exe/rspec:4:in `<top (required)>‘
18     from /.rvm/gems/ruby-2.1.2/bin/rspec:23:in `load‘
19     from /.rvm/gems/ruby-2.1.2/bin/rspec:23:in `<main>‘
20     from /.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `eval‘
21     from /.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `<main>‘
22 [email protected]:~/Prac/rrprac/sample_app$ bundle exec rspec spec/
23 /Prac/rrprac/sample_app/spec/spec_helper.rb:20:in `block in <top (required)>‘: uninitialized constant Capybara (NameError)
24     from /.rvm/gems/ruby-2.1.2/gems/rspec-core-3.0.4/lib/rspec/core.rb:79:in `configure‘
25     from /Prac/rrprac/sample_app/spec/spec_helper.rb:17:in `<top (required)>‘
26     from /.rvm/gems/ruby-2.1.2/gems/rspec-core-3.0.4/lib/rspec/core/configuration.rb:1025:in `require‘
27     from /.rvm/gems/ruby-2.1.2/gems/rspec-core-3.0.4/lib/rspec/core/configuration.rb:1025:in `block in requires=‘
28     from /.rvm/gems/ruby-2.1.2/gems/rspec-core-3.0.4/lib/rspec/core/configuration.rb:1025:in `each‘
29     from /.rvm/gems/ruby-2.1.2/gems/rspec-core-3.0.4/lib/rspec/core/configuration.rb:1025:in `requires=‘
30     from /.rvm/gems/ruby-2.1.2/gems/rspec-core-3.0.4/lib/rspec/core/configuration_options.rb:101:in `block in process_options_into‘
31     from /.rvm/gems/ruby-2.1.2/gems/rspec-core-3.0.4/lib/rspec/core/configuration_options.rb:100:in `each‘
32     from /.rvm/gems/ruby-2.1.2/gems/rspec-core-3.0.4/lib/rspec/core/configuration_options.rb:100:in `process_options_into‘
33     from /.rvm/gems/ruby-2.1.2/gems/rspec-core-3.0.4/lib/rspec/core/configuration_options.rb:22:in `configure‘
34     from /.rvm/gems/ruby-2.1.2/gems/rspec-core-3.0.4/lib/rspec/core/runner.rb:96:in `setup‘
35     from /.rvm/gems/ruby-2.1.2/gems/rspec-core-3.0.4/lib/rspec/core/runner.rb:85:in `run‘
36     from /.rvm/gems/ruby-2.1.2/gems/rspec-core-3.0.4/lib/rspec/core/runner.rb:70:in `run‘
37     from /.rvm/gems/ruby-2.1.2/gems/rspec-core-3.0.4/lib/rspec/core/runner.rb:38:in `invoke‘
38     from /.rvm/gems/ruby-2.1.2/gems/rspec-core-3.0.4/exe/rspec:4:in `<top (required)>‘
39     from /.rvm/gems/ruby-2.1.2/bin/rspec:23:in `load‘
40     from /.rvm/gems/ruby-2.1.2/bin/rspec:23:in `<main>‘
41     from /.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `eval‘
42     from /.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `<main>‘

查来查去都是什么乱说一通,改这地方改那地方,我了个去的,太不靠谱了,后来综合各个老外的说法,思考了下然后试着去改,老天真照顾我,好用了。哈哈~~~

首先查到的是Capybara不在rspec中,所以要添加进去,但是添加的是spec_helper.rb文件中

config.include Capybara::DSL

结果:依然没解决。

其次,因为版本升级,现在rspec已经分为两块,一个spec_helper.rb和一个rails_helper.rb
从生成的测试文件看

 1 require ‘rails_helper‘
 2
 3 RSpec.describe "StaticPages", :type => :request do
 4   # describe "GET /static_pages" do
 5   #   it "works! (now write some real specs)" do
 6   #     get static_pages_index_path
 7   #     expect(response.status).to be(200)
 8   #   end
 9   # end
10
11   describe "Home page" do
12       it "should have the content ‘Sample App‘" do
13           visit ‘/static_pages/home‘
14           expect(page).to have_content(‘Sample App‘)
15       end
16   end
17 end

引用的是rails_helper,所以我试着把这个东西移到rails_helper中,问题解决。

其他小问题一大堆。。。头疼,下班。

时间: 2024-08-08 22:07:40

Rails中的测试RSpec升级遇到的问题的相关文章

【转】Rails中Bootstrap的安装和使用

转自:http://blog.csdn.net/lissdy/article/details/9195651 眼看着前端攻城师们都开始使用Bootstrap创作网页,于是也想学着在最近正在学习的Rails中使用Bootstrap. 具体安装使用过程如下: 1.创建Rails工程 rails new usedschool   2.生成脚手架 rails g scaffold Item title:string description:text --skip-stylesheets 3.应用迁移 r

《软件工程综合实践专题》——1程序简单测试与升级

<软件工程综合实践专题> ———程序简单测试与升级 1759233 目录 <软件工程综合实践专题>... 1 ———程序简单测试与升级... 1 1.  程序代码:... 2 2.  代码解读:... 2 3.  需求增加:... 2 4.  新增需求的测试用例:[可能写的不好,因为软件测试这学期才开始学习]... 3 5.增量开发... 4 6.收获和不足... 9 1.   程序代码: 2.   代码解读: Python是一门很强大的语言主要是因为它包含了很多使用的库,这里的程

ipa包兼容性大作战!WeTest iOS深度兼容测试全新升级

2018年,移动端适配话题热闹无比,有iOS新版本新机型发布,全面屏.异形屏.曲面屏争相斗艳,从而产生了各类特殊的屏幕分辨率设备. 正是因为这些特殊分辨率,导致2018年手机设备频繁出现适配问题,如屏幕显示不全.双边未占满.顶部导航栏高度不对导致部分被遮挡,包括之前经常被用户提及的黑屏.闪退.安装失败等问题.特别是iOS设备在18年推出三款新的 iPhone:6.1英寸的iPhone XR.5.8英寸的iPhone XS.6.5英寸的iPhone XS Max.加上iOS版本升级成iOS 12,

RailsCast26 Hackers Love Mass Assignment rails中按params创建、更新model时存在的安全隐患

Mass assignment是rails中常用的将表单数据存储起来的一种方式.不幸的是,它的简洁性成了黑客攻击的目标.下面将解释为什么及如何解决. 上述表单为一个简单的注册表单.当用户填入name,点击提交时,一个新用户被创建.用户模型被如下定义: ruby create_table :users do |t| t.string :name t.boolean :admin, :default => false, :null => false end 当用户点击提交时,如下的action被执

Rails中如何避免N+1问题

N+1问题 N+1问题是数据库访问中最常见的一个性能问题,首先介绍一下什么是N+1问题: 举个例子,我们数据库中有两张表,一个是Customers,一个是Orders.Orders中含有一个外键customer_id,指向了Customers的主键id. 想要得到所有Customer以及其分别对应的Order,一种写法是 SELECT * FROM Customers; 对于每一个Customer: SELECT * FROM Orders WHERE Orders.customer_id =

中美网络安全战升级 中国科技企业或迎春天

2014年05月29日 15:59 来源:环球网 作者:房磊 陈薇   http://www.cssn.cn/jsx/jsjj_jsx/201405/t20140529_1191304.shtml   随着中美双方在信息安全方面的争端不断升级,中国政府近日推出一系列举措防止受到安全威胁.日前有消息称,中国政府正大力推动国内银行弃用IBM公司生产的高端服务器,而改用国产品牌服务器.包括中国人民银行.财政部在内的多个政府部门正在对国有商业银行进行排查,确认这些银行是否因使用IBM服务器而危害到国家财

软件测试中常见测试流程

测试的流程: 需求阶段流程图: 单元/集成测试阶段流程图 系统测试阶段流程图 压力测试流程图 性能测试流程图 仅仅了解就够复杂的了,实际操作过程中的问题肯定更多.像压力测试.性能测试,一般的情况下我哪里用得上啊.虽然也知道些什么分布式应用.海量存储之类的,但是我连1T的数据都没见过.光说说那是是空话=.= 第二个问题:软件测试的常规方法. 软件测试中常见测试流程,布布扣,bubuko.com

理解ruby on rails中的ActiveRecord::Relation

ActiveRecord::Relation是rails3中添加的.rails2中的finders, named_scope, with_scope 等用法,在rails3统一为一种Relation用法. 以下是返回ActiveRecord::Relation的方法: bind create_with distinct eager_load extending from group having includes joins limit lock none offset order preloa

软件测试、ios中的测试概念以及步骤

软件测试: 软件测试的目标是应该服务于软件项目的目标,可以通过建议反馈使用更加高效的方法和工具,提升软件开发效率以及软件开发质量.同时还可以通过过一些手段,更早.更快.更多地发现缺陷,从容降低了这些缺陷带来的风险. 软件测试是为了消除更加多的bug,虽然没有能够消除彻底. 但是软件的质量不是通过软件测试,而是软件开发工程师决定的. 软件测试的好处: 1.测试可以对软件预防,然后反应给软件开发工程师,所以及时快速的找到错误. 2.对软件缺陷的检测. 软件测试的类型: 单元测试(Unit Tests