2014-10-28 13 views
5

I metodo restituisce il valore casuale dall'array predefinito (ovvero: [ 'value1', 'value2']). Come dovrei testarlo con rspec?rspec - matcher per una delle opzioni

mi piacerebbe fare qualcosa di simile:

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

Un modo per farlo? Grazie.

risposta

5

Utilizzare questa

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

o una semplice partita booleano

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

Preferisco la prima versione (cioè '.to includere (...)'). Ti mostrerà il valore che non è nella lista quando il test fallisce. La seconda versione riporta solo che 'false' non è' true', che non è molto utile. – Mark

Problemi correlati