草庐IT

ruby - Rspec 加载时间太长

我在我的Rails3.2.11应用程序中使用Rspec。我已经安装并设置了spork。我使用数据映射器作为ORM。然而,当spork运行时,运行单个测试需要一分多钟。即使正在运行的测试是空的。肯定有什么地方不对劲。但我想不通到底是什么。我的测试规范是这样的:require"spec_helper"require"cancan/matchers"describeUserdoend我的规范帮助文件可以在这里找到:https://gist.github.com/4593609当我对rspec计时时:➜booksgit:(dev)✗timerspec--drbspec/models/test_

ruby - 您如何设置 Rack::URLMap 以在 Sinatra 中使用 RSpec?

我对Sinatra比较陌生,我想找出一种方法将RSpec与我的Sinatra设置集成。配置.rurequire'sinatra'require'mongoid'require'uri'require'./lib/twilio_wrapper'Mongoid.load!("./config/mongoid.yml")Dir["./controllers/*.rb"].each{|file|requirefile}runRack::URLMap.new('/'=>HomeController.new,'/users'=>UsersController.new(TwilioWrapper.n

ruby-on-rails - 如何为具有许多模型调用的方法编写简短、干净的 rspec 测试?

我无法为我想编写的方法提出一些测试。该方法将对一些数据进行哈希处理,并使用它创建一组关联的模型。问题是,我很难弄清楚编写此类测试的最佳实践是什么。例如,代码将:采用如下所示的散列:{:department=>'CS',:course_title=>'Algorithms',:section_number=>'01B':term=>'Fall2012',:instructor=>'BobDylan'}并将其保存到模型Department、Course、Section和Instructor。这将需要多次调用model.find_or_create等。我如何着手测试此方法的每个单独目的,例如

ruby-on-rails - 我的 SOAP 服务的集成/请求 rspec 测试

我有一部分Rails2Web服务应用程序用作SOAP服务(历史原因,应用程序的其余部分是REST)。只需两个操作AddLead和ShowLead,wsdlon/soap/wsdl。我想通过Rspec集成测试来测试这个操作。尝试使用Savongem(/spec/integration/soap_spec.rb):require"spec_helper"require'rubygems'require'savon'describe"Leads"dobefore(:all)dowsdl="http://localhost:3000/soap/wsdl"wsdl="http://www.exa

ruby - 如何在 shoulda 上下文中覆盖设置值,例如 RSpec `let`?

这是我在RSpec中使用的一个很好的技术,我也想在使用Shoulda和Shoulda-context的项目中使用它。但我不知道这是否可能。有办法做到这一点吗?我想要的:在引用嵌套上下文中的let子句的外部上下文中定义一个setup(before)block。这样,内部上下文可以配置在外部setup中引用的值,并且setup仍然可以在内部上下文中保持DRY。RSpec示例(这个示例很简单——请假设我的真实示例在beforeblock中有更多我不想重复的代码):describeThingdobeforedo#Noticethat`user`isn'tdefinedhere--it'sdef

ruby - 使用 RSpec 的非 Rails 项目的首选目录结构是什么?

我是rspec的新手,我想使用rspec来测试我的非Rails项目。我在网上能找到的几乎都是关于使用rspec测试Rails项目的,所以我需要一些帮助来组织项目结构。如下所示,我有一个空目录my_first_project并且我在该目录中执行了rspec--init。我的问题是,我应该把我的项目代码放在哪里?直接在my_first_project或在my_first_project\lib或其他地方?MacBook-Pro:my_first_projectyi$rspec--initcreate.rspeccreatespec/spec_helper.rbMacBook-Pro:my_

ruby - RSpec 3 : expect object. do_something 不引发特定类型的错误

我想测试一个特定的方法是否不会引发类AError的错误。它可以引发BError、ArgumentError、几乎任何其他类型的错误,或者没有错误,只是不是AError。是否有任何未弃用的(从RSpec3开始)的方法来做到这一点?我试过了expect{object.do_something}.not_toraise_error(AError)但是我明白了ArgumentError:`expect{}.not_toraise_error(SpecificErrorClass)`isnotvalid,use`expect{}.not_toraise_error`(withnoargs)ins

ruby-on-rails - Rails Controller Rspec 测试

作为序言,我对Rails和一般的MVC格式非常陌生。我正在使用Rspec进行所有测试,但我的controller_spec中的这段代码有问题:describe"GETshow"docontext'withanadminusersignedin'dowith:adminlet!(:invitation){create:invitation}beforedosign_inadminget:show,id:invitation.idendit{shouldrespond_with:ok}it{shouldrespond_with_content_type:html}it{shouldrend

ruby - 我如何在 RSpec 中测试我加载的代码是否有任何 Ruby 警告?

有什么方法可以访问RSpec示例中的Ruby警告列表吗?我在正在测试的库中收到以下错误,并想为其编写单元测试。warning:previousdefinitionofBUILD_FILEwashere 最佳答案 我最终启动了一个新流程来评估流程输出。在我的例子中,问题是一个重新定义的常量,所以我通过将类两次加载到新的Ruby进程中然后使用IO流读取输出来进行测试:it'shouldnotredefineBUILD_FILEconstant'doroot_path="#{File.dirname(__FILE__)}/../../..

ruby - RSpec 在使用 -f 格式化程序时抛出参数错误

我正在使用ruby​​和rspec与watir一起编写自动化测试用例。C:\Users\san\Dragon>gemlist'rspec'***LOCALGEMS***rspec(3.4.0,2.14.1)rspec-core(3.4.3,2.14.8)rspec-expectations(3.4.0,2.14.5)rspec-mocks(3.4.1,2.14.6)rspec-support(3.4.1)当我使用以下命令运行测试用例时。C:\Users\san\Dragon>rspec-fspec\sampletest_spec.rb:65我遇到了这个错误C:/Ruby193/lib/