测试哈希包含特定键,并且这些键的值不是nil

时间:2011-11-12 20:09:44

标签: ruby rspec

如何测试方法是否返回包含特定键的哈希值,并且这些键的值不是使用RSpec的值?

2 个答案:

答案 0 :(得分:10)

我写道:

describe MyObject do
  describe "#my_method" do
    subject(:my_method) { MyObject.new.my_method }

    it { is_expected.to be_a_kind_of(Hash) }
    specify { expect(my_method.keys).to include(:key1, :key2) }
    specify { expect(my_method.values).not_to include(nil) }
  end
end

您可能需要在引号“key1”,“key2”中使用键。否则可能会抛出错误。

答案 1 :(得分:8)

类似的东西:

test_method.values_at("key1", "key2").should_not include(nil)