草庐IT

rspec-given

全部标签

ruby-on-rails - 将 header 附加到 Rspec Controller 测试

我正在尝试为我的Controller编写测试,该Controller接收来自外部服务的请求。到目前为止,这是我的测试:describeApplyControllerdocontext'whenvalid'dolet(:parameters)dofile=File.joinFile.dirname(__FILE__),'..','samples','Indeed.json'JSON.parse(File.readfile)endlet(:signature){'GC02UVj0d4bqa5peNFHdPQAZ2BI='}subject(:response){post:indeed,par

ruby - 运行 RSpec 中所有示例的命令行,包括被过滤掉的示例?

有几个例子比较慢,过滤掉如下:RSpec.configuredo|c|c.filter_run_excludingslow:trueenddescribe'getaveragesbuttakesalongtime',slow:truedoit'getsaveragefoo'do....endit'getsaveragebar'do...endend这很好用并且不会运行缓慢的测试。rspec但是从命令行运行所有示例的RSpec命令是什么,包括被过滤掉的慢的? 最佳答案 如果您运行rspec--help,输出包括以下内容:-t,--ta

ruby-on-rails - Rake RSpec 任务未显示

我有一个继承的应用程序,在Ruby1.9的Rails3上运行,它工作正常,但出于某种原因,当我同时安装rspec和jasmine时,当我运行rake-T时,它们的rake任务都没有出现。该应用程序的Rakefile只是标准文件,事实上,当我安装Cucumber时,它的rake任务显示得很好。如果我输入rakespec,没有错误,但我的specs都没有运行。但是,如果我输入rspecspec,它们都会运行,就好了。Jasmine任务出错,说没有这样的任务。知道为什么这些不会出现,但其他任务会出现吗? 最佳答案 你们开发组有rspec-

ruby - RSpec 中的 "to"方法出现问题(未定义的方法)

这里是rspec的全新内容,这将变得很明显。以下rspec文件失败:require_relative('spec_helper')describeGenotypingScenariodoit'shouldaddgenes'doscen=GenotypingScenario.newgene=Gene.new("Pcsk9",989)scen.addGene(gene)expect(gene.id).toeq(989)ct=scen.genes.countexpect(ct).toequal(1)expect(5).toeq(5)endend具体来说,最后两行expect()失败,错误如下

ruby-on-rails - 运行 Rspec 时出现 "No such file to load"错误

MacOS10.4rspec(1.1.11,1.1.4,1.1.3,0.5.15)rspec-rails(1.1.11)rspec_generator(0.5.15)rails2.2.2ruby1.8.6(2007-03-13patchlevel0)[universal-darwin8.0]创建了一个新项目...$railsmyproject将rspec安装到项目中...$script/generaterspec生成资源...$script/generaterspec_scaffoldmyresourcename:stringdescription:text试图运行规范...$rake

ruby - 如何检查 RSpec 中 Nil 的变化

所以我很确定这会起作用...expect{file.send(:on_io){}}.tochange{file.io.class}.from(NilClass).to(File)但它失败并显示此消息...resultshouldhaveinitiallybeenNilClass,butwasNilClass胡?首先,为什么返回失败?其次,我知道通常您可以使用nil?方法使用be_nil检查nil。是否有一些特殊的方法可以使用RSpec中的from().to()执行此操作? 最佳答案 这应该有效:expect{file.send(:o

ruby - 如何在 rspec 之前访问元数据(:all)?

我希望能够在before(:all)方法期间显示测试组名称(和祖先):describe"Myawesomeapp"dobefore(:all)doputsrunning_example_group.metadata[:full_description]#这个想法是会产生输出:MyawesomeappMyawesomeappawesomewidget此数据在“it”子句中可用,但我无法在before(:all)中弄清楚。它不可用吗?我是不是犯了一个愚蠢的错误? 最佳答案 在before(:all)block中,没有“运行示例”,但您仍

ruby - Rspec 3.0 如何模拟替换参数但没有返回值的方法?

我搜索了很多,但就是想不通,尽管它看起来很基本。这是我想做的事情的一个简化示例。创建一个执行某些操作但不返回任何内容的简单方法,例如:classTestdeftest_method(param)putsparamendtest_method("hello")end但在我的rspec测试中,我需要传递一个不同的参数,例如“再见”而不是“你好”。我知道这与stub和模拟有关,我查看了文档但无法弄清楚:https://relishapp.com/rspec/rspec-mocks/v/3-0/docs/method-stubs如果我这样做:@test=Test.newallow(@test)

ruby-on-rails - 如何在 Rspec 中忽略对具有不同参数的同一方法的某些调用?

这是我的场景:更新AR对象后,它会使用Resque触发一堆后台作业。在我的规范中,我模拟了对Resque#enqueue的调用,如下所示:it'shouldbepublished'do#IneedtosetupthesemocksinmanyplaceswhereIwanttomockaspecificcalltoResque,otherwiseitfailsResque.should_receive(:enqueue).with(NotInterestedJob1,anything)Resque.should_receive(:enqueue).with(NotInterestedJ

ruby - 如何测试 rspec 中方法调用的顺序?

我有一个类使用命令模式按顺序执行一系列简单的转换步骤。数据以数据馈送(XML格式)的形式出现,然后使用单一用途的步骤类通过多个步骤进行转换。所以它可能看起来像这样(实际类名不同):raw_data=Downloader.new(feed)parsed_data=Parser.new(raw_data)translated_data=Translator.new(parsed_data)sifted_data=Sifter.new(translated_data)collate_data=Collator.new(sifted_data)等等我对每个类都有单元测试,我有集成测试来验证整个