草庐IT

ruby-on-rails - 在 RSpec 中使用 expect 和 should

有如下RSpec代码:it'isnotvalidifnameisnotpresent'do@car.name=nilexpect(@car).tobe_invalidend我现在读了AaronSumner的“TestingwithRSpec”,他写了关于RSpec中的新样式的文章。之前我写了下面的代码:it'isnotvalidifnameisnotpresent'do@car.name=nilit{should_notbe_valid}end请告诉我,我这样做对吗?谢谢。 最佳答案 我认为这是一个很好的例子describe"Car

ruby-on-rails - 如何使用 rspec 在我的 Controller 的新操作中测试实例变量的分配?

我对测试还很陌生,并且有一个我想测试的UsersController。我从新的Action开始,到目前为止有以下内容;require'spec_helper'describeUsersControllerdodescribe"GET'new'"doit"assignsanewUserto@user"douser=User.newget:newassigns(:user).shouldeq(user)endit"rendersthe:newtemplate"endend到目前为止,我的UsersController看起来像这样classUsersController我预计我的第一个测试会

ruby-on-rails - 通过 mTurk 对实时结果进行 Rspec 测试

我正在通过Rspec测试代码在mTurk上创建点击量,但同时我需要测试必须从mTurk发回的结果。为了节省每次测试的复杂性,我使用VCR将HTTP请求记录在磁带中。我该如何实现这个测试?? 最佳答案 好吧,我为此做了一些破解,我使用调试器来保持我的rspec测试,直到结果从mTurk返回,然后它被存储在VCR中。所以我必须做一次这种破解,然后在VCR为我工作之后 关于ruby-on-rails-通过mTurk对实时结果进行Rspec测试,我们在StackOverflow上找到一个类似的问

ruby-on-rails - Rspec测试CSV文件下载

我想确保我的CSV下载包含正确的列。当我使用RSpec测试CSV下载时,我无法访问文件内容。如何访问CSV文件的内容?require'spec_helper'includeDevise::TestHelpersdescribeAdmin::ApplicationsControllerdobefore(:each)do@application=FactoryGirl.create:application@user=FactoryGirl.create(:admin_user)sign_in@userendit"downloadsacsv"it"givesusonlythecolumnsw

ruby-on-rails - 页面内容中 html 实体的 Rspec 测试

我正在编写请求规范并想测试字符串“Reports»AgingReports”是否存在。如果我直接在我的匹配器表达式中输入字符,我会得到一个错误(无效的多字节字符),所以我尝试了这个:page.shouldhave_content("Reports»AgingReports")测试失败并显示消息:expectedtheretobecontent"Reports»AgingReports"in"\nReports»AgingReports\n我试过类似.html_safe的东西没有成功。有没有办法测试包含html实体的文本?编辑:这是html源的相关区域:Repor

ruby-on-rails - 如何使用 Rspec 测试强参数?

使用Rspec在RailsController中测试强参数过滤的实际策略是什么?(除了shouldamatchers)如何编写失败的测试然后让它变绿? 最佳答案 使用预期参数和所有(未满足的)参数创建2个哈希。然后将所有参数传递给操作并检查您的对象模型是否只接收预期的参数。如果您不使用强参数过滤器,则不会。然后将权限添加到参数并再次检查测试。例如,这个:#actiondefcreateUser.create(params)end#specit'createsauser'doexpect_any_instance_of(User).t

ruby-on-rails - 如何在 Ruby 中使用 RSpec 通过 Windows 命令提示符获取颜色?

在其他o/s中,RSpec返回漂亮的彩色结果(红色、绿色等)。但是在Windows(Vista)命令提示符下,我的文本输出只是普通的、无聊的白色。如何为我的RSpec测试结果添加颜色?谢谢进化 最佳答案 更新:Win32Console不再适用于rspec。ANSICON推荐。https://github.com/rspec/rspec-rails/issues/487#issuecomment-3556806 关于ruby-on-rails-如何在Ruby中使用RSpec通过Window

ruby-on-rails - 尝试在使用 Redis 的模块上运行 Rspec 时出错

我在Rails5中使用Rspec为使用redis的模块运行测试时遇到问题。当我运行railsserver时,一切正常。每当我运行Rspec命令时,我都会收到以下错误:/Users/reinierverbeek/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0/lib/active_support/cache.rb:106:in`rescueinretrieve_store_class':Couldnotfindcachestoreadapterforredis_store(cannotloadsuchfile--active_support/c

ruby-on-rails - 带有 Rails 5.1 的 Redis 打破了 Rspec

我有一个Rspec测试套件,在我将Redis安装到我的Web应用程序之前它一直运行良好。是config/initializers/redis.rb文件中的两行代码uri=URI.parse(ENV['REDISTOGO_URL'])$redis=Redis::Namespace.new("EW",:redis=>Redis.new(url:uri))当我评论上面的内容时,rspec工作正常(我什至还没有开始测试redis,因为我不能)。下面是rspec给我的错误。Anerroroccurredwhileloading./spec/models/waitlist_spec.rb.Fail

ruby-on-rails - Rails rspec 单独通过示例但整个文件失败

我有一个Rails规范文件。当我运行时:rspecmy_spec.rb有3次失败。这些失败是在同一个上下文中。但是当我分别运行它们时(例如:rspecmy_spec.rb:231),他们通过了。很少单独测试也失败,如果那样,我重新启动docker然后它再次通过。我不确定哪里出了问题?我尝试在spec_helper中添加DatabaseCleaner.clean和redis.flushdb但运气不好。任何想法可以帮助吗? 最佳答案 没有规范很难帮助你。但根据我自己的经验,通常这是硬编码期望的问题。喜欢:expect(response.