草庐IT

Test_stub

全部标签

ruby - 如何使用 Ruby 的 Test::Unit 只测试一个方法?

假设我有一个这样的测试:classMyUnitTest我的测试用例是破坏性的,我需要在测试之间重新生成输入。因此,一次只运行一个测试用例会很有用。目前,我的方法是评论我不想执行的测试,但肯定有更好的方法吗?那么,例如,当我执行测试时,如何只运行test_first? 最佳答案 使用--namePATTERN参数来过滤出您要运行的测试名称。D:\Projects>rubytest.rbLoadedsuitetestStarted...Finishedin0.000000seconds.3tests,0assertions,0failu

ruby-on-rails - 如何在 cucumber 中 stub 方法?

我想在SubmissionsController中删除space_available_mb方法,以便它返回5。这不起作用。它返回真实硬盘上的正确空间。如果space_available_mb被注释掉,则会抛出预期错误,这意味着should_receive可以正常工作。但是,它不会返回5,而是返回实数,这意味着and_return由于某种原因失败。进一步的调试显示and_return实际上被调用了,但只是在该方法运行并返回实数之后。Scenario:HardDiskSpaceislowonnewsubmissionGivenIamonthenew_submissionpageAndhar

ruby-on-rails - Ruby on Rails 教程 : RSpec test failing when refactoring with matcher

我正在处理MichaelHartl'sRailstutorial并且在使用匹配器重构时无法通过Rspec测试。终端输出Failures:1)AuthenticationloginwithinvalidinformationFailure/Error:it{shouldhave_error_message('Invalid')}NoMethodError:undefinedmethod`has_error_message?'for##./spec/requests/authentication_pages_spec.rb:21:in`block(4levels)in'spec/suppo

ruby-on-rails - Webmock 未通过查询响应 stub 请求

我正在开发RubyonRailsgem,我正在尝试使用webmock,因为我需要与不受我控制的外部API进行交互(和测试)。所以,这是before(:each)中的代码片段,因为我把它stub在那里:beforedouri=URI.join(client.class.base_uri,DataComApi::ApiURI.search_contact).to_sstub_request(:get,uri).with(query:hash_including({'pageSize'=>0,'offset'=>0})).to_return(body:FactoryGirl.build(:d

ruby - 有ruby Unit::Test 说出测试结果

我一直在使用内置的OSX“say”命令来表示长时间运行的测试结束。简单方便。我想让它说出结果的最后一行,上面写着“6次测试,18次断言,0次失败,0次错误”,但仍保持持续输出。任何想法如何做到这一点?我试过:rubyoverlay_test.rb|tail-n1|say但这不会在测试发生时输出测试结果。让它只说“0次失败,0次错误”这一行的最后两部分的加分项。 最佳答案 您可以使用tee将输出定向到多个文件/进程(这里,say和STDOUT):rubyoverlay_test.rb|tail-n1|tee>(say)作为奖励,使用s

ruby - 如何使用 mocha stub 对象上的所有内容

如何使用mocha清除对象上的所有方法?我试过了object.stubs(:everything)stub_everything('class_name')以上两种方式都不行。 最佳答案 第二种方法应该有效。查看MochaApideftest_productproduct=stub_everything('ipod_product',:price=>100)assert_nilproduct.manufacturerassert_nilproduct.any_old_methodassert_equal100,product.pri

ruby-on-rails - 如果有的话,rspec 相对于 test::unit 的主要优势是什么?

现在似乎每个人都在使用rspec,但rails仍然默认与test::unit捆绑在一起。rspec与测试单元相比有什么主要优势吗?很难获得关于这个主题的直接信息... 最佳答案 在这些讨论中通常非常关注语法,这当然是主观的,但RSpec提供了一些有用的功能,这些功能在测试/单元、minitest或其扩展库中是看不到的。对我来说,三大巨头是:可读输出(TURN对此有帮助,但它没有打印出您需要复制以运行失败的单个示例的命令之类的东西)。合理的CTRL-C。在rspec-2中,当你按下CTRL-C时,那一刻正在运行的示例结束(你可以第二次

ruby-on-rails - 如何在 RSpec 规范中 stub 闪存?

在我看来,我有一个hidden_​​field_tag,其值是在Controller中设置的flash。也就是说,流程是这样的:Controller:defhomeflash[:id]=123end查看:提交给new_invitee_path的参数:{"referer"=>"123"}我可以确认在手动测试中这可以正常工作,但我不知道如何适本地stub。在我的测试中我有:beforedo#setflashvisit'/home'fill_in"rest_of_form"click_button"submit_formend下面是我为setflash尝试做的事情以及我收到的错误消息:fla

ruby - 如何在 rspec 中的测试类中实例化 stub 类

我在stub外部api时遇到问题,下面是示例require'rspec'require'google/apis/storage_v1'moduleGoogleclassStoragedefuploadfileputs'#'*90puts"File#{file}isuploadedtogooglecloud"endendendclassUploadWorkerincludeSidekiq::WorkerdefperformGoogle::Storage.new.upload'test.txt'endendRSpec.describeUploadWorkerdoit'uploadstogo

ruby - RSpec - 模拟(或 stub )覆盖的 mixin 方法

我有这样的情况:moduleSomethingdefmy_methodreturn:some_symbolendendclassMyClassincludeSomethingdefmy_methodifxxx?:other_symbolelsesuperendendend现在问题出在测试上——我想确保从覆盖方法调用super方法并将其stub,以便我可以测试方法的其他部分。我如何使用RSpec模拟来实现这一点? 最佳答案 确保super被调用听起来很像测试实现,而不是行为,并且模拟被测对象无论如何都不是一个好主意。我建议只明确指定不