草庐IT

test_should_do_something_really_s

全部标签

ruby-on-rails - minitest、test::unit 和 rails

我在某处读到“minitest”是“ruby1.9.2+的新测试::单元”。但ruby​​1.9.3似乎包含两者test::unit和minitest,是真的吗?在默认的rails测试中,如Railstestingguide中所述....诸如ActiveSupport::TestCase、ActionController::TestCase之类的东西,是使用Test::Unit还是Minitest?在Rails指南中,它显示了带有如下定义的测试的示例:test"shouldshowpost"doget:show,:id=>@post.idassert_response:successe

ruby - Vim:突出显示 Ruby 中的关键字对(def/end、do/end 等)

InoneoftheEclipse-basededitorsthatItriedoutrecently(IthinkitwasRubyMine),whenaRubykeywordthateitheropenedorclosedamethodorblockwasselected,thecorrespondingopen/closekeywordwashighlighted.类似于Vim能够突出显示相应的开/关括号的方式。例如,如果我选择了“def”,它会突出显示相应的“end”。它也适用于do/endblock。这真的很方便,特别是对于那些很长且有时嵌套很重的Rspec文件。有人知道如何

ruby-on-rails - rails : Testing named scopes with RSpec

我是测试Rails网络应用程序和RSpec的新手。我使用遗留代码并需要添加测试。那么使用RSpec测试查找器和命名范围的最佳方法是什么?我在Google中找到了一些方法,但它们并不理想。例如:http://paulsturgess.co.uk/articles/show/93-using-rspec-to-test-a-named_scope-in-ruby-on-railsit"excludesusersthatarenotactive"do@user=Factory(:user,:active=>false)User.active.should_notinclude(@user)e

Ruby Print Inject Do 语法

为什么下面的代码运行正常p(1..1000).inject(0){|sum,i|sum+i}但是,下面的代码报错了p(1..1000).inject(0)do|sum,i|sum+iendwarning:donotuseFixnumsasSymbolsin`inject':0isnotasymbol(ArgumentError)他们不应该是等价的吗? 最佳答案 使用花括号编写的block绑定(bind)到注入(inject)方法,这正是您的意图,它会正常工作。但是,封装在do/endblock中的block将绑定(bind)到p方法

ruby-on-rails - FactoryBot 工厂中 `transient do` block 的用途是什么?

FactoryBot工厂中transientdo的目的是什么?我见过很多工厂都是以下面这样的开头。factory:cardoownernilother_attributenilend...我在这个博客上找到了一些信息:UsingFactoryGirltoeasilycreatecomplexdatasetsinRails但我仍然不完全理解如何以及为什么要这样做。我对FactoryBot的经验很少。有使用FactoryBot经验的人可以分享一些见解吗? 最佳答案 transient属性允许您传入模型中不是属性的数据。假设您有一个名为c

Ruby 模块 - 包含 do end block

有一个模块MyModule:moduleMyModuleextendActiveSupport::Concerndeffirst_methodenddefsecond_methodendincludeddosecond_class_methodendmoduleClassMethodsdeffirst_class_methodenddefsecond_class_methodendendend当某些类包含这个模块时,它将有2个方法公开为实例方法(first_method和second_method)和2个类方法(first_class_method和second_class_metho

ruby-on-rails - 使用 `ActiveRecord with_connection do` 和 ActionController::Live 时出现线程错误

主要编辑:自从最初发现此问题后,我已将其缩减为以下内容。我认为现在这是对问题的略微更精确的描述。因此,对OP的评论可能并不完全相关。编辑在rails/puma项目中发布的轻微修改版本:https://github.com/rails/rails/issues/21209,https://github.com/puma/puma/issues/758编辑现在用OSX和Rainbows复制总结:当使用Puma并运行长时间运行的连接时,我一直收到与跨线程的ActiveRecord连接相关的错误。这在消息中表现出来,例如消息类型0x##空闲时从服务器到达和锁定(崩溃)的服务器。设置:Ubunt

ruby - Ruby : Should we really believe the style guide? 中的失败与提升

Ruby提供了两种以编程方式引发异常的可能性:raise和fail,它们都是Kernel方法。根据文件,它们是绝对等价的。出于习惯,到目前为止我只使用了raise。现在我发现了一些建议(例如here),使用raise来捕获异常,使用fail来处理不应该处理的严重错误。但这真的有意义吗?当你在写一个类或模块时,在内部引发了一个问题,你用fail表示,你正在审查代码的编程同事可能会很高兴地理解你的意图,但是那个人使用我的代码很可能不会查看我的代码并且无法知道异常是由raise还是fail引起的。因此,我对raise或fail的谨慎使用不会影响他的决定,她是否应该处理它。有人能看出我的论点中

ruby-on-rails - rails : how do you access RESTful helpers?

我正在努力解决这个guidetoRailsrouting,但我卡在了3.3部分:CreatingaRESTfulroutewillalsomakeavailableapileofhelperswithinyourapplication然后他们列出了一些助手,例如photos_url、photos_path等。我的问题:我在哪里可以找到“可用”的助手的完整列表?有没有办法在控制台中调用助手?我创建了一个应用程序,然后使用script/console打开了控制台。我试着像这样在控制台上调用其中一个助手:>>entries_url但是得到了:NameError:undefinedlocalv

ruby-on-rails - gem 更新后 : test fail with "Asset was not declared to be precompiled in production"

由于我更新了几个gem,所以所有测试都失败并出现错误:ActionView::Template::Error:Assetwasnotdeclaredtobeprecompiledinproduction.AddRails.application.config.assets.precompile+=%w(favicons/manifest.json.erb)toconfig/initializers/assets.rbandrestartyourserverapp/views/layouts/_faviconsheader.html.erb:14:in_app_views_layouts