草庐IT

Test_stub

全部标签

ruby - 我可以在 RSpec 中 stub STDERR 吗?

我有一个简单的函数想要测试(可能主要是为了安抚simplecov)。函数是:moduleUtilsextendselfdefblather(msg)msg="==="+msgSTDERR.puts(msg)Rails.logger.debug(msg)endendRSpecdocumentationforstubbing说:Messagescanbestubbedonanyclass,includingthoseinRuby'scorelibrary.但是以下内容:#file:spec/lib/utils_spec.rbrequire'spec_helper'describeUtils

ruby-on-rails - 集成测试在 Stripe 上创建测试用户,如何停止或 stub

我在项目中使用Stripe。我使用Railscasts#288(http://railscasts.com/episodes/288-billing-with-stripe)作为指南。我拥有它,一旦用户使用有效的用户名和密码注册,我就会创建他们的Stripe客户帐户。运行几次集成测试后,我可以看到我在我的Stripe测试帐户中创建了许多用户。我如何构建集成测试,使其像典型用户一样完成我的注册过程,但无需使用Stripe创建Stripe帐户? 最佳答案 我来晚了一点,但请查看StripeMock.它是专门为此目的而制作的。Stripe

ruby-on-rails - Ruby on Rails,rake 数据库 :seed or db:reset - how do you dictate which mode (development/test/production)?

使用RubyonRails,当您使用rakedb:seed或db:reset重置或重新播种数据库时-您如何指定操作要处于哪种模式(开发/测试/生产)?我使用Sqlite进行开发,使用postgresql进行测试和生产——但使用不同的连接参数。我似乎无法控制Rails在我的开发箱(我在虚拟机Ubuntu13.l0中运行)或在Heroku上运行的模式。此外,当您在Heroku上运行应用时,您如何决定在哪种模式(开发/测试/生产)中运行您的应用?Heroku文档建议的方式不起作用(也就是说,将单行放入Procfile网络:bundleexecunicorn-p$PORT-E$RACK_ENV

ruby-on-rails - 我如何 stub results.map(& :blank_image) in Rspec?

我正在写测试,我到了这一行:blank_images=results.map(&:blank_image)在我的测试中,我试图对它进行stub并让它返回一个数组:expect(results).toreceive(:map).with(&:blank_image).and_return([true,true,true])我不断收到消息:ArgumentError:`with`musthaveatleastoneargument.Use`no_args`matchertosettheexpectationofreceivingnoarguments.如何将&:blank_image传递给

ruby - 在使用 any_instance 的情况下,如何让 stub 返回调用它的实例?

例如,我有A类。classAend并希望在规范中从stub方法返回该类的实例。A.any_instance.stub(:my_method).and_return()是否有可能在RSpec中做出类似的东西? 最佳答案 这将为您解决问题:A.any_instance.stub(:my_method)do|*args|instance=RSpec::Mocks::space.send(:receivers).lastend我从这里的rspec代码中挖出了这个:rspecgithubcode附言:这完全取决于rspec的实现,将来可能会改

ruby-on-rails - 如何 stub after_create 回调保存!在模型中?

我收到以下错误:输出:1)LabelsController#createlabelisnewcreatesanewlabelFailure/Error:post:create,attributes[:label],format::jsonNoMethodError:undefinedmethod`save!'fornil:NilClass#./app/models/labeling.rb:17:in`update_target'在标签模型中:after_create:update_targetdefupdate_targetself.target.save!end测试:require'

ruby - 如何区分Sinatra请求对象和Rack Test请求方法?

我有一个在Sinatra应用程序范围内运行的方法,用于检查请求是否安全:secure_request?request.env['HTTPS']=='on'end这工作正常,但是当我从另一个不共享Sinatra应用程序范围的类调用它时,它会尝试发出机架测试请求,并引发错误:参数数量错误(1为0).那么,有没有办法显式指定Sinatra应用程序请求,例如self.request或app.request? 最佳答案 从另一个类调用request方法闻起来像是糟糕的代码设计,将另一个类与您的应用程序紧密耦合。secure_request?在

ruby - 如何获取正在通过 rack-test 测试的 Sinatra 应用程序实例?

我想获取正在通过rack-test测试的应用程序实例,以便我可以模拟它的一些方法。我以为我可以简单地将应用程序实例保存在app方法中,但由于某些奇怪的原因不起作用。看起来rack-test只是使用实例来获取类,然后创建自己的实例。我做了一个测试来证明我的问题(它需要gem“sinatra”、“rack-test”和“rr”才能运行):require"sinatra"require"minitest/spec"require"minitest/autorun"require"rack/test"require"rr"describe"instantiatedapp"doincludeRa

ruby - "test".partition( "s") 从 Enumerable 模块而不是 String 模块调用分区

我尝试使用partitionmethodfromtheStringmodule对字符串进行分区.但是,这样做时:puts"test".partition("s")我收到以下错误消息:Line1:in`partition':wrongnumberofarguments(1for0)(ArgumentError)fromt.rb:1我相信Ruby调用了partitionmethodfromtheEnumerablemodule,而不是我想要的来自String模块的那个。如何让Ruby调用所需的方法? 最佳答案 作为injekt已经指出,

ruby - 有哪些方法可以从 WSDL 文件自动生成 ruby​​ 客户端 stub ?

我正在使用Ruby和Savongem与SOAP/WS交互,并希望从Ruby中的WSDL自动生成客户端请求方法。在我这样做之前,我想知道是否有任何其他Ruby/SOAP库可以执行此操作?编辑:请注意,我已经知道这在Savon中不可用,事实上我的目的是添加该功能,我正在检查它是否存在于其他地方ruby。 最佳答案 因为你问这个问题才几天,而我遇到了同样的问题,我决定创建一个小脚本来做到这一点。下载-例如保存为objects.rb并使用_bundeexecobjects.rbpath_to.wsdl_运行https://gist.gith