2014-10-28 6 views
5

Mam metodę zwracającą losową wartość z predefiniowanej tablicy (a mianowicie: [ 'value1', 'value2']). Jak mam to przetestować za pomocą rspec?rspec - matcher dla jednego z wyborów

chciałbym zrobić coś takiego:

expect(FooClass.new.value).to be_in ['value1', 'value2'] 

jakikolwiek sposób to zrobić? Dzięki.

Odpowiedz

5

Użyj tego

expect(['value1', 'value2']).to include(FooClass.new.value) 

Albo prosta logiczna mecz

expect(['value1', 'value2'].include? FooClass.new.value).to be true 
+0

Wolę pierwszą wersję (tj '.Aby to (...)'). Pokaże ci wartość, której nie ma na liście, gdy test się nie powiedzie. Druga wersja zgłosi tylko, że "false" nie jest "true", co nie jest zbyt pomocne. – Mark