Avertissement: C'est la première fois que j'écris des tests unitaires ... soyez doux! :)Suis-je tester la bonne chose ... vos pensées s'il vous plaît!
J'essaie d'écrire un test pour la méthode suivante et aimerais que les gens pensent si je pense à la bonne façon. J'ai une interface appelée IAuthenticationProvider avec la méthode suivante:
bool Authenticate(string username, string password)
J'ai aussi une classe appelée UserAccountService qui a la méthode suivante:
bool SignIn(string username, string password)
Le UserAccountService prend une interface IAuthenticationProvider dans le cadre du constructeur et est utilisé dans la méthode SignIn. La méthode SignIn ressemble un peu:
public bool SignIn(string username, string password)
{
// _provider is of type IAuthenticationProvider
bool result = _provider.Authenticate(username, password);
// ....
return result;
}
Au départ, quand je pensais à des tests tels que « la signature avec le nom d'utilisateur inconnu », « la signature avec un mot de passe non valide », etc. Mais, je puis commencé à penser que Je ne veux pas vraiment tester l'aspect "authentification", c'est-à-dire _provider.Authenticate, mais je veux tester la connexion réelle. Donc, je pensais à des tests tels que "signer en étant déjà connecté", "signer quand le l'utilisateur ne peut pas être authentifié ", etc, aurait plus de sens.
Serait-ce la bonne façon d'aborder ce genre de tests?
Cordialement
Michael
Je ne pense pas que ce soit une bonne pratique d'utiliser CapitalizedNames pour les méthodes. Juste une pensée. –
Je pense que c'est C#. –
@Stefano: Il s'agit presque certainement de C#, auquel cas il est recommandé d'utiliser CamelCase. – Noldorin