Как написать rspe c тестирование на хеш - PullRequest
0 голосов
/ 11 февраля 2020

Попытка написать rspe c test для кода ниже. Spe c предполагает проверить, что правая клавиша пройдена. Я делаю ха sh переменную let и ожидаю, что ключ будет равен ключу переменной. Я не совсем уверен, как это настроить.

def something_att
 Hash[
   %i(name age).map do |k| 
     [k, send(k)]     
   end
 ]
end

Ответы [ 2 ]

0 голосов
/ 11 февраля 2020

Как вы сказали, spe c предполагает проверить, что правая клавиша пройдена.

describe "#something_att" do
  it "should have right keys" do
    expect(something_att.keys.sort).to eq ['name', 'age'].sort
  end
end
0 голосов
/ 11 февраля 2020

первая версия нечто_att без параметров

it "test something_att" do
  hash_result = something_att
  expect(hash_result).to eq(
    name: 'john doe',
    age: 40
  )
end

вторая версия нечто_att с параметрами (но вы должны изменить методы some_att) Я предпочитаю использовать это, так как его более гибко использовать с параметрами, которые можно установить

it "test something_att" do
  hash_data = { name: 'john doe', age: 20 }
  hash_result = something_att(hash_data)
  expect(hash_result).to eq(
    name: 'john doe',
    age: 40
  )
end
...