我有这样的情况:moduleSomethingdefmy_methodreturn:some_symbolendendclassMyClassincludeSomethingdefmy_methodifxxx?:other_symbolelsesuperendendend现在问题出在测试上——我想确保从覆盖方法调用super方法并将其stub,以便我可以测试方法的其他部分。我如何使用RSpec模拟来实现这一点? 最佳答案 确保super被调用听起来很像测试实现,而不是行为,并且模拟被测对象无论如何都不是一个好主意。我建议只明确指定不
我有一个简单的函数想要测试(可能主要是为了安抚simplecov)。函数是:moduleUtilsextendselfdefblather(msg)msg="==="+msgSTDERR.puts(msg)Rails.logger.debug(msg)endendRSpecdocumentationforstubbing说:Messagescanbestubbedonanyclass,includingthoseinRuby'scorelibrary.但是以下内容:#file:spec/lib/utils_spec.rbrequire'spec_helper'describeUtils
我在项目中使用Stripe。我使用Railscasts#288(http://railscasts.com/episodes/288-billing-with-stripe)作为指南。我拥有它,一旦用户使用有效的用户名和密码注册,我就会创建他们的Stripe客户帐户。运行几次集成测试后,我可以看到我在我的Stripe测试帐户中创建了许多用户。我如何构建集成测试,使其像典型用户一样完成我的注册过程,但无需使用Stripe创建Stripe帐户? 最佳答案 我来晚了一点,但请查看StripeMock.它是专门为此目的而制作的。Stripe
我正在写测试,我到了这一行: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传递给
例如,我有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的实现,将来可能会改
我收到以下错误:输出: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和Savongem与SOAP/WS交互,并希望从Ruby中的WSDL自动生成客户端请求方法。在我这样做之前,我想知道是否有任何其他Ruby/SOAP库可以执行此操作?编辑:请注意,我已经知道这在Savon中不可用,事实上我的目的是添加该功能,我正在检查它是否存在于其他地方ruby。 最佳答案 因为你问这个问题才几天,而我遇到了同样的问题,我决定创建一个小脚本来做到这一点。下载-例如保存为objects.rb并使用_bundeexecobjects.rbpath_to.wsdl_运行https://gist.gith
我有一个UserMailDispatcher类,它的工作是根据特定条件通过ActiveMailer发送邮件。我正在尝试使用RSpec对其进行测试,但效果不佳。我想以某种方式stub测试邮件并查看该类是否正确传递它。这是我到目前为止所拥有的:我所有的邮件程序都继承自ApplicationMailer:application_mailer.rbclassApplicationMaileruser_mail_dispatcher_spec.rbrequire'rails_helper'describeUserMailDispatcherdoclassUserMailer我想测试调度程序是否可
我需要对具有特定属性或属性集的模型的所有实例进行stub。例如,使用ActiveRecord:let(:model1){Model.create!(uid:1)}let(:model2){Model.create!(uid:2)}beforedoallow(model1).toreceive(:foo).and_return:barallow(model2).toreceive(:foo).and_return:bazenditdoexpect(model1.foo).toeq:bar#=>passesexpect(model2.foo).toeq:baz#=>passes######
我有以下规范来测试Controller方法:context"#create"doit"shouldredirectwhenmodelisvalid"doUser.stub!(:valid?).and_return(true)post:create,:user=>FactoryGirl.attributes_for(:user)response.shouldredirect_to("/")endit"shouldrendernewtemplatewhenmodelisinvalid"doUser.stub!(:valid?).and_return(false)post:create,:u