草庐IT

rspec-mocks

全部标签

ruby - 如何使用 Rspec 测试包含哈希数组的哈希中是否存在键

我有一个模型方法,它在执行时返回以下内容。{"data"=>[{"product"=>"PRODUCTA","orders"=>3,"ordered"=>6,"revenue"=>600.0},{"product"=>"PRODUCTB","orders"=>1,"ordered"=>5,"revenue"=>100.0}]}我想测试以确保第一个哈希中的“收入”存在,然后测试该值是否等于600。subject{described_class.order_items_by_revenue}it"includesrevenuekey"doexpect(subject).toinclude(

ruby - 如何在 RSPEC 中测试类方法

我编写了一个简单的类方法Buy.get_days(string),并尝试使用不同的文本字符串输入对其进行测试。但是我觉得它非常冗长。是否有更简洁的方法来测试以下内容?有没有相当于subjectformethods我可以继续传递输入不同的参数并检查结果?有没有办法避免在每个它处进行不必要的描述?谢谢describeBuydodescribe'.get_days'doit'shouldgetdays'doBuy.get_days('Includesa1-weeknightstayforupto4people').should==1endit'shouldgetdays'doBuy.get_

ruby-on-rails - Rspec - 未定义的方法 'let'

这是我的rspec文件:require'spec_helper'describe"Birds"dobefore{visitbirds_path}it"shouldhavetherighttitle"doexpect(page).tohave_content("ApprovedBirds")endit"shouldcontainthebird'sname,genus,species"dolet(:bird){FactoryGirl.create(:bird)}expect(page).tohave_content("#{bird.name}")expect(page).tohave_co

ruby - 为什么我的 RSpec 规范运行了两次?

我在我的Rakefile中定义了以下RSpec(1.3.0)任务:require'spec/rake/spectask'Spec::Rake::SpecTask.new(:spec)do|spec|spec.libs我在spec/spec_helper.rb中有以下内容:require'rubygems'require'spec'require'spec/autorun'require'rack/test'require'webmock/rspec'includeRack::Test::MethodsincludeWebMockrequire'omniauth/core'我在spec/

ruby - 导轨/RSpec : How to test #initialize method?

如何使用RSpec指定#initialize行为?例如这里:generator.rbclassGeneratorattr_accessor:seeddefinitialize(seed=nil)@seed=seed||pick_seedenddefpick_seedTime.now.to_iendendgenerator_spec.rbrequire'generator'describeGeneratorit"calls'pick_seed'methodunlessseedspecified"doendend我想设置从#initialize方法调用的pick_seed方法的期望值。

ruby - minitest 可以做类似 "rspec --color --format doc"的事情吗?

我想要一份关于正在运行的测试的打印精美的摘要,类似于rspec--color--formatdoc可以minitest这样做吗? 最佳答案 "HowtocolorunittestswithlibminitestorTest:Unit?是一个类似的问题。那里提供了几个选项:骄傲turnpurdytestminitest-reporters 关于ruby-minitest可以做类似"rspec--color--formatdoc"的事情吗?,我们在StackOverflow上找到一个类似的问

ruby - 我怎样才能对我的默认范围进行 rspec 测试

我的模型有default_scope(:order=>'created_at')我的测试(rspec、factorygirl、shoulda等)是:require'spec/spec_helper.rb'describeCatMembershipdocontext"isvalid"dosubject{Factory.build(:cat_membership)}it{shouldbe_valid}it{shouldbelong_to:cat}it{shouldbelong_to:cat_group}it{shouldhave_db_column(:start_date)}it{shou

ruby - 从 Ruby 执行 Rspec

我正在尝试从ruby​​执行rspec,并从方法或类似的东西中获取状态或失败次数。实际上我正在运行这样的东西:system("rspec'myfilepath'")但我只能得到函数返回的字符串。有没有办法直接使用对象来做到这一点? 最佳答案 我认为最好的方法是使用RSpec的配置和格式化程序。这不涉及解析IO流,还以编程方式提供更丰富的结果自定义。RSpec2:require'rspec'config=RSpec.configuration#optionallysettheconsoleoutputtocolourful#equiv

ruby - Rspec 运行除特定文件夹之外的所有测试

我正在处理的项目有一个相当大的测试套件。我目前正在编写单独运行时通过的测试,但是当我运行整个测试套件$rspec时,我遇到了一些导致测试失败的非常时髦的行为。现在测试是这样嵌套的:spec/folder1/folder2/folder3/test.rb这些命令中的每一个都可以正常运行测试并且一切都通过了:$rspecspec/folder1/folder2/folder3$rspecspec/folder1/folder2$rspecspec/folder1/与folder1处于同一级别的大约10个其他文件夹我不想单独与套件的其余部分一起运行,以确定哪个文件夹包含破坏测试的测试我正在努

ruby-on-rails - RSpec 重试抛出异常然后返回值

我有一个重试blockdefmy_methodapp_instances=[]attempts=0beginapp_instances=fetch_and_rescan_app_instances(page_n,policy_id,policy_cpath)rescueExceptionattempts+=1retryunlessattempts>2raiseExceptionendpage_n+=1end其中fetch_and_rescan_app_instances访问网络,因此可以抛出异常。我想编写一个rspec测试,它第一次抛出异常,第二次调用时不抛出异常,所以我可以测试它是否