我在Rspec上做了一些测试,看起来像这样:describe"description"dobefore:eachdodo_before()endit"something_1"do...endit"something_2"do...endend我知道我可以使用获取当前测试的名称(“something_1”)example.description有什么方法可以获取before:each区域中所有描述的数组吗? 最佳答案 rspec-fd--color--dry-runfilename在rspec3.5.2中为我工作,列出所有测试而不运行
我在测试时遇到过这个问题。假设我有两个模型,User和Post,其中userhas_many:posts。我正在尝试指定包含如下内容的代码块:user=User.find(123)post=user.posts.find(456)我知道如何模拟User.find和user.posts部分。user.posts模拟返回一个Post对象数组。当它到达.find(456)部分时,一切都崩溃了,并出现noblockgiven异常。所以我的问题是:作为user.postsmock的结果我要返回什么,以便.find(456)方法对其起作用?User.first.posts.class说它是Arra
我正在尝试使用JRuby运行我的rspec:rakespec结果是:jruby-Sbundleexecrspec--colorspec/foo_spec.rb没有颜色出现,所以我从等式中删除了Jruby:bundleexecrspec--colorspec/foo_spec.rb没有颜色。如何将“--color”选项传递给rspec?我的项目的根目录中还有一个.rspec文件,在这些情况下似乎没有帮助。然而,.rspec文件在我刚刚运行时被拾取或使用:rspecspec/foo_spec.rb有什么想法吗? 最佳答案 将--tty添
我正在尝试为我的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
有几个例子比较慢,过滤掉如下:RSpec.configuredo|c|c.filter_run_excludingslow:trueenddescribe'getaveragesbuttakesalongtime',slow:truedoit'getsaveragefoo'do....endit'getsaveragebar'do...endend这很好用并且不会运行缓慢的测试。rspec但是从命令行运行所有示例的RSpec命令是什么,包括被过滤掉的慢的? 最佳答案 如果您运行rspec--help,输出包括以下内容:-t,--ta
我有一个继承的应用程序,在Ruby1.9的Rails3上运行,它工作正常,但出于某种原因,当我同时安装rspec和jasmine时,当我运行rake-T时,它们的rake任务都没有出现。该应用程序的Rakefile只是标准文件,事实上,当我安装Cucumber时,它的rake任务显示得很好。如果我输入rakespec,没有错误,但我的specs都没有运行。但是,如果我输入rspecspec,它们都会运行,就好了。Jasmine任务出错,说没有这样的任务。知道为什么这些不会出现,但其他任务会出现吗? 最佳答案 你们开发组有rspec-
这里是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()失败,错误如下
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
所以我很确定这会起作用...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
我希望能够在before(:all)方法期间显示测试组名称(和祖先):describe"Myawesomeapp"dobefore(:all)doputsrunning_example_group.metadata[:full_description]#这个想法是会产生输出:MyawesomeappMyawesomeappawesomewidget此数据在“it”子句中可用,但我无法在before(:all)中弄清楚。它不可用吗?我是不是犯了一个愚蠢的错误? 最佳答案 在before(:all)block中,没有“运行示例”,但您仍