Проверьте, что хеш содержит определенные ключи и что значения для этих ключей не равны нулю - PullRequest
9 голосов
/ 13 ноября 2011

Как я могу проверить, что метод возвращает хеш, который содержит определенные ключи, и значения для этих ключей не равны нулю при использовании RSpec?

Ответы [ 2 ]

10 голосов
/ 13 ноября 2011

Я бы написал:

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". В противном случае это может привести к ошибке.

8 голосов
/ 13 ноября 2011

как то так:

test_method.values_at("key1", "key2").should_not include(nil)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...