quindi ero abbastanza sicuro che questo stava andando al lavoro ...Come controllare per un cambiamento da zero nel RSpec
expect { file.send(:on_io) {} }.to change{
file.io.class
}.from(NilClass).to(File)
ma non riesce con questo messaggio ...
result should have initially been NilClass, but was NilClass
Hu?
Prima di tutto, perché questo restituisce un errore? In secondo luogo, so che normalmente è possibile verificare la presenza di zero con be_nil
utilizzando il metodo nil?
. C'è un modo speciale per farlo con uno from().to()
in RSpec?
se 'nil === NilClass' restituisce false, non' file.io === File' restituisce anche false (supponendo che 'file.io' sia un'istanza di' File')? – webdesserts
Ma il test sarà 'File === file.io', questo è il punto intero :) –
Ahh ok, gli argomenti in' to' e 'from' vengono confrontati con il valore restituito piuttosto che con il visto. Ha senso. Grazie a te che hai spiegato tutto bene! – webdesserts