Il mio test è simile al seguente:Rspec prova raise_error in mancanza anche se il metodo genera un errore
it 'does return an error when passing a non-subscription or trial membership' do expect(helper.description_for_subscription(recurring_plan)).to raise_error(RuntimeError) end
mio metodo restituisce questo:
fail 'Unknown subscription model type!'
Eppure Rspec torna con questo fallimento messaggio:
Failure/Error: expect(helper.description_for_subscription(recurring_plan)).to raise_error(RuntimeError) RuntimeError: Unknown subscription model type!
Cosa sta succedendo ??
Wow Non posso credere che ha funzionato. Perché questo rende anche diverso? Tutti i miei altri test usano expect() e trovano tutti lavoro. Grazie, a proposito! –
Il modo in cui ci penso è quando stai testando un valore, come 'expect (a) == b', si usa'() '. Quando si verifica il risultato di una transazione, si utilizza un blocco con '{}'. Questo è principalmente usato per testare ** rilanciare un errore ** o ** cambiare osservazione **. Controlla la documentazione che ho incluso nella risposta – AbM