草庐IT

ruby - RSpec 只能在我的 Lib 目录的根目录中看到类

RSpec(2.12.2)让我很为难。如果我想在我的一个规范中引用一个类并且该类不在我的/lib目录的根目录中,它会抛出一个错误:nosuchfiletoload--test(LoadError)似乎我的规范可以嵌​​套在一个文件夹结构中,但是当我尝试并需要一个位于嵌套文件夹中的类时(例如lib/workers/conversion_worker.rb),我收到此错误。我在所有规范中都使用require'spec_helper',但即使对类的路径进行硬编码也会导致相同的错误。采用这种结构:-lib/-class_found.rb-workers/-class_not_found.rb规

ruby-on-rails - RSpec 抛出段错误

有时我的测试套件会无缘无故地抛出一个段错误。这是输出:/Users/Test/.rvm/gems/ruby-1.9.3-p392/gems/activerecord-3.2.9/lib/active_record/relation/query_methods.rb:268:[BUG]BusErrorruby1.9.3p392(2013-02-22revision39386)[x86_64-darwin12.3.0]--Controlframeinformation-----------------------------------------------c:0209p:----s:0

ruby-on-rails - 如何使用 RSpec 测试内存?

我的一个类(class)中有下一个代码:classSettings基本行为:它在第一次调用时创建了一个新记录。它在后续调用中返回相同的结果。它会在每次更新后重置ivar,在后续调用中返回与当前环境关联的第一个(也是唯一的)记录。对于这个方法我有下一个测试:describeSettingsdodescribe".current"doit"getsallsettingsforcurrentenvironment"doexpect(Settings.current).toeq(Settings.where({environment:'test'}).first)endendend我对此感到不

ruby-on-rails - 在 rspec 中 stub 类级别常量

我的类(class)结构如下:classAbcONE_CLASS_LEVEL_CONSTANT_BEING_READ_FROM_DB=GloablAttributeValue.read_from_dbdefsome_method_that_use_above_constant#thisfunctionbehavesdifferentlyfordifferentvaluesofONE_CLASS_LEVEL_CONSTANT_BEING_READ_FROM_DBendend现在我想根据不同的值ONE_CLASS_LEVEL_CONSTANT_BEING_READ_FROM_DB对some

ruby - RSpec:最准确的服务测试类型

使用rspec测试普通ruby​​类(PORO)的最准确测试类型是什么——在我的例子中是服务。通常我会使用:model测试。但只是为了惯用测试:有没有一种方法可以进行比:model类型更薄的rspec测试? 最佳答案 有notypetoapply.只需将其视为PORO并为其编写规范即可。如果你真的想添加一个类型,你可以添加type::service但默认情况下它不会做任何事情。RSpec.describeMyServiceObjectdo#specsend 关于ruby-RSpec:最准

ruby-on-rails - 返回值的 RSpec 序列和从 stub 中引发的错误

我想在引发异常的情况下对HTTParty的前两次调用stub,然后,第三次调用应该返回值。beforedoallow(HTTParty).toreceive(:get).exactly(2).times.with(url).and_raise(HTTParty::Error)allow(HTTParty).toreceive(:get).with(url).and_return('{}')end但一个允许覆盖另一个。如何设置stub以在前几次尝试时引发错误,然后让它返回一个值? 最佳答案 根据thisgithubissue中提供的信

Ruby Rspec 在 Windows 上输出文字转义字符

我正在学习ruby​​onrails教程:http://railstutorial.org/chapters/static-pages#top我准备使用rspec。安装win32consolegem后,它在控制台中输出乱码,我假设它正在输出ansi颜色更改代码:>rspecspec/?[31mF?[0m?[31mF?[0mFinishedin0.34376seconds?[31m2examples,2failures?[0m1)PagesControllerGET'home'shouldbesuccessfulFailure/Error:UnabletofindCtoreadfaile

ruby - RSpec、隐式主题和异常

有没有办法正确测试rspec中隐式主题的异常引发?例如,这失败了:describe'test'dosubject{raise'anexception'}it{shouldraise_exception}end但这过去了:describe'test'doit"shouldraiseanexception"dolambda{raise'anexception'}.shouldraise_exceptionendend这是为什么? 最佳答案 subject接受一个block,该block返回余数的主题。你要的是这个:describe'te

ruby-on-rails - 在 RSpec 测试中跳过 Rails http_basic_authenticate_with

我正在研究MVP(最小可行产品)。为了提供一种更简单的方法来保护管理页面,我只是将http_basic_authenticate_with添加到我的AdminController。问题是当我想测试我的AdminController时,我得到“未授权”(401),因为我没有登录。在这种情况下,测试身份验证是无关紧要的——它只是暂时的,一旦我进入下一个冲刺,它就会被删除——所以我试图在RSpec中跳过它。问题是我尝试了很多方法,但似乎都没有用。例如,我试图修改http_basic_authenticate_with以避免身份验证。像这样:require'spec_helper'module

ruby-on-rails - Rails 教程 3 第 7 章 : User Model Rspec Test Failing

我一直在成功地遵循Rails教程3,直到我到达第7章并实现了用户模型,现在我的rspec一直失败。这是我的user.rb文件输出classUsertrue,:length=>{:maximum=>50}validates:email,:presence=>true,:format=>{:with=>email_regex},:uniqueness=>{:case_sensitive=>false}validates:password,:presence=>true,:confirmation=>true,:length=>{:within=>6..40}before_save:encr