Comment normalisez-vous les aspects de votre application qui doivent accéder aux variables système du système d'exploitation? Par exemple, mon application doit être en mesure de récupérer correctement le nom d'utilisateur actuellement connecté du système d'exploitation.Comment utiliser l'application TDD pour extraire le nom d'utilisateur de l'environnement système
Je TDD une fonction qui fait cela, et il est appelé:
string getUserNameFromSystemEnvironment();
Le problème que j'ai est:
Je suis en cours d'exécution du test sur ma machine, donc je sais ce que le le nom d'utilisateur est (par exemple FooBar
). Je TDD getUserNameFromSystemEnvironment()
par codage en dur FooBar
dans mon test comme.
EXPECT_EQ(getUserNameFromSystemEnvironment(), "FooBar");
Il est clair que ce test fonctionne bien sur ma machine, mais pas sur d'autres. Pour le faire tourner bien sur
d'autres, cependant, je devrais utiliser getUserNameFromSystemEnvironment()
. Mais alors, que les défaites genre de l'objet du test parce que nous aurons:
EXPECT_EQ(getUserNameFromSystemEnvironment(),
getUserNameFromSystemEnvironment());
Toutes les idées?
"Les tests n'ont pas besoin d'être 100% parfaits" <- merci pour cet aperçu. Je n'y ai jamais pensé de cette façon avant. – sivabudh