2016-01-16 2 views
-1

Работы на RSpec (2.14.1), RSpec-ядро (2.14.8) & RSpec-ожидание (2.14.5) версииRspec - ожидает один из конкретных результатов

нужно ожидать одного из двух конкретных результатов. Пробовал ниже заявлений и получили соответствующие ошибки,

expect(fruit).should be_in('Apple','Mango') 

Ошибка

NoMethodError: undefined method `should' for #<RSpec::Expectations::ExpectationTarget:0x007fa63c4336d8> 

и

expect(fruit).to eq('Apple').or(eq('Mango')) 

и

expect(fruit).to include('Apple').or(eq('Mango')) 

Ошибка

NoMethodError: undefined method `or' for #<RSpec::Matchers::BuiltIn::Eq:0x007fa63c431630> 

Искал много, но не смог найти решение. Есть ли способ сделать это, не обновляя rspec до 3?

+0

Благодарности psantos и SteveTurczyn , оба решения работали – mon23

ответ

0

Попробуйте это:

expect(fruit).to be_in(['Apple','Mango']) 

Вы ожидаете элемент (fruit), чтобы быть в массиве (['Apple', 'Mango'])

0

Вы можете сделать ...

expect(['Apple', 'Mango'].include?(fruit)).to be true 

 Смежные вопросы

  • Нет связанных вопросов^_^