Domanda

Il titolo probabilmente non è molto chiaro. Ho il seguente esempio in mente:

un oggetto Authenticator autentica un utente utilizzando le credenziali. Esso restituisce un oggetto AuthResult. Questo oggetto AuthResult dice l'autenticazione è riuscita, o che non è riuscito (e se è così, perché non è riuscito, ad esempio, il nome utente non trovato).

Come posso frase questo in un test? 'TestShouldReturnAuthObjectWithStatusSuccessOnValidLogin'?

È stato utile?

Soluzione

testValidLoginIsSuccessful o testIsSuccessfulOnValidLogin sembra abbastanza buono per me.

Per i test di errore, si potrebbe usare qualcosa come testGetsCustomMessageOnUserNotFound

Si dovrebbe evitare di mettere i dettagli di implementazione nel nome del metodo.

Altri suggerimenti

Senza vedere come questi test vengono implementate, a quanto pare dalla denominazione che le osservazioni sono imballate troppo.

Se questo test non riesce, dovrete fare un po 'scavare per sapere se è perché (a) nessun oggetto AuthResult è stato restituito, o (b) lo stato non era "successo", e inoltre, non vi fu AuthResult perché l'Authenticator mai connesso al database o fare qualche altra azione necessaria?

Mi piacerebbe il nome del dispositivo When_told_to_authenticate_with_valid_credentials e quindi separare le affermazioni in due osservazioni differenti:
1. should_return_an_AuthResult
2. should_be_successful

Se si deridere quei altre classi come giustamente suggerito Samuel, è possibile stabilire che l'Authenticator si comporta come ci si aspetta:
3. should_connect_to_the_database
4. ecc.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top