草庐IT

rspec-stories

全部标签

ruby - 检查一个方法是否是 rspec 中另一个方法的别名

Article#to_archive是Article#archived!的别名:classArticlealiasto_archivearchived!end我需要确保这一点,所以我写了这个测试:describe'#to_archive'doit'isanaliasto#archived!'doexpect(subject.method(:to_archive)).toeq(subject.method(:archived!))endend但是,我收到一个错误Failure/Error:expect(subject.method(:to_archive)).toeq(subject.m

ruby - 意外的 rspec 行为

学习Rspec,只使用Ruby,不使用Rails。我有一个脚本可以按预期从命令行运行,但我无法通过测试。相关代码:classTreeattr_accessor:height,:age,:apples,:alivedefinitialize@height=2@age=0@apples=false@alive=trueenddefage!@age+=1end和规范:describe"Tree"dobefore:eachdo@tree=Tree.newenddescribe"#age!"doit"agesthetreeobjectoneyearpercall"do10.times{@tree

带有 rspec "can' t 修改卡住对象的 Ruby 1.9.1"

我刚刚更新到Ruby1.9.1,几乎我所有的rspec都坏了,给我一个“无法修改卡住的对象”。甚至来自生成rspec_controller的Rspec示例代码也会失败。RuntimeErrorin'DownloadsControllershoulduseDownloadsController'can'tmodifyfrozenobject/usr/local/lib/ruby19/1.9.1/timeout.rb:44:in`timeout'Generatedbythefollowingcode:it"shoulduseDownloadsController"docontroller.

ruby - 将参数传递给 Rspec SpecTask

Rake允许以下语法:task:my_task,:arg1,:arg2do|t,args|puts"Argswere:#{args}"end我希望能够做同样的事情,但是使用RSpecsSpecTask。不幸的是,以下失败了:desc"Runexamplewithargument"SpecTask.new('my_task'),:datafiledo|t,args|t.spec_files=FileList['*_spec.rb-datafile=#{args}']t.spec_opts=["-c-fspecdoc"]end是否可以通过SpecTask实现这一点,或者是否有替代方法?

ruby-on-rails - 在 Rails 中运行 bundle exec rspec spec/requests/static_pages_spec.rb 时出错

我正在关注这篇文章,我可以在下面的这个ruby​​文件中编写这段代码,主页确实有示例应用程序,但当我运行bundleexec时,它仍然说静态页面主页应该有内容“示例应用程序”rspec规范/requests/static_pages_spec.rbspec/requests/static_pages_spec文件代码:require'spec_helper'describe"Staticpages"dodescribe"Homepage"doit"shouldhavethecontent'SampleApp'"dovisit'/static_pages/home'page.should

ruby-on-rails - 如何在我的 rspec Controller 示例中测试基本身份验证?

我有一些使用authenticate_or_request_with_http_basic的RailsController——如何在我的rspec示例中设置用户/密码?我很惊讶无法在网络上的其他地方找到它,所以也许我使用了错误的术语?--我发现了一些很古老的东西,或者我觉得很复杂的东西。似乎在这一点上rspec要么对此有直接支持,要么是一个整洁的惯用解决方案。 最佳答案 这行得通。感谢@zetetic给我指明了正确的方向beforedo@request.env["HTTP_AUTHORIZATION"]="Basic"+Base64

ruby - RSpec 3 : How to stub methods and constants from code we have yet to build/add?

我们正在从我们构建的名为DBQuery的gem中重构一个名为DataSourceIntegrations的Ruby应用程序。我正在将一些DBQuery代码迁移到DataSourceIntegrations中。我正在构建的部分取决于DBQuery,它将在单独的步骤中添加。与此同时,我需要编写RSpec测试来验证DBQuery代码是否被正确调用,所有这些都没有DBQuery。我有的是:代码—gem密码—moduleDBQueryclassQueryMAX=1000defretrieve_users#ReturnsanarrayofuserIDsendendend应用程序代码—moduleI

ruby - 如何为 RSpec 编写自定义 rake 任务?

在我的Rake文件中:require'rspec/core/rake_task'desc'Default:runspecs.'task:default=>:specdesc"Runspecs"RSpec::Core::RakeTask.newdo|task|task.pattern="**/spec/*_spec.rb"task.rspec_opts=Dir.glob("[0-9][0-9][0-9]_*").collect{|x|"-I#{x}"}.sorttask.rspec_opts在rspec_config.rb中RSpec.configure{|c|c.fail_fast=t

ruby-on-rails - rspec 用户测试给出 "undefined local variable or method ` confirmed_at' "

我的rspec测试给了我NameError:undefinedlocalvariableormethod`confirmed_at'for#我的用户规范是:require'spec_helper'describeUserdobefore(:each)do@user=Factory(:user)end#Factorywillmakesurethatinthefutureifattributesareaddedthetestsbelowdon'tbreak#JustaslongastheFactoryisupdatedforthenewattributesasappropriate.con

ruby - rake/Rspec : How to suppress/quiet/silent the first output line showing the command with --pattern ?

问题:如果我运行ServerSpec(基于RSpec)到Rake使用以下命令之一:rakerakespecrakespec:allrakespec:bundleexecrake...Rake将它执行的命令打印到stdout在serverspec输出之前:/usr/bin/ruby1.9.1-I/var/lib/gems/1.9.1/gems/rspec-core-3.1.6/lib:/var/lib/gems/1.9.1/gems/rspec-support-3.1.2/lib/var/lib/gems/1.9.1/gems/rspec-core-3.1.6/exe/rspec--pa