ruby - RSpec:在 RSpec 中测试大型哈希

标签 ruby hash rspec

我正在尝试为一个简单的哈希编写一个测试,但是哈希本身非常大。

对于较小的文件,我可能会编写如下测试:

describe Hash do
  it 'should display some kind if hash' do
    some_hash = { one: 1, two: 2, three: 3 }
    expect(subject.hash).to eq some_hash
  end
end

但是,对于大型的来说,执行上述操作似乎很麻烦(即,对于具有二十个左右键值对的拥有),编写测试的最佳方法是什么?

感谢您的帮助

最佳答案

根据哈希的类型,您可以考虑使用固定装置:http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html

或者您可以将 .yml 文件存储在规范下的“support”目录中,并将哈希值加载到变量中,如下所示:

my_hash = YAML.load_file('path_to_yml.yml')

关于ruby - RSpec:在 RSpec 中测试大型哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29328611/

相关文章:

ruby - 在变量 Ruby 中使用类名创建的类实例

ruby-on-rails - FactoryGirl 在数据库中找不到实例

ruby - 从数组中删除匹配元素的第一个实例

c - C中int使用哈希查找表

arrays - 如何在 perl 中将数组 [key1,val1] 映射到哈希 { key1 => val1}?

ruby-on-rails - Ruby on Rails - RSpec - 重构 lambda 样式测试

ruby-on-rails - Nginx/Passenger 的 Rails 应用程序错误

c# - 为什么 ComputeHash 的执行速度比 certutil -hashfile 慢得多?

ruby-on-rails - Capybara::ElementNotFound 的所有规范仅在 Travis 上

ruby-on-rails - 如何在 Controller 测试中验证 json 响应?