Je ne suis pas sûr de ce que je devrais faire ici. Devrais-je coder en dur toutes les valeurs ou devrais-je les avoir dans une variable CONST? Tout ce que j'ai vu semble coder dur les valeurs, donc je ne suis pas sûr.Puis-je le faire dans mes tests unitaires?
Comme c'est ce que je faisais maintenant. Dites dans mon contrôleur que j'ai eu un test de validation pour vérifier si l'utilisateur essaie de soumettre un formulaire avec un champ vide.
Maintenant, je voudrais avoir une instruction if vérifiant la variable vide ou nulle. Si cela se produisait alors j'ajouterais l'erreur à ModelState avec un message d'erreur que j'ai écrit.
Ainsi, dans mon test unitaire, je veux m'assurer que si une variable de formulaire vierge est soumise, elle sera interceptée.
maintenant dans mes tests unitaires que je viens de faire une varible CONST et copié et collé le message de validation.
Donc, dans mon assert je compare ce que le message réel est comparé au message stocké dans mon CONST Varrible. Je fais ceci en appelant comme l'état du modèle et appelez le champ là où je m'attends à ce que l'erreur soit. .
Comme:
de result.ViewData.ModelState [ "nom d'utilisateur"] Erreurs [0];
Donc, si le message est là alors il doit avoir entré dans mon code sinon il n'existerait pas.
Il m'est apparu que je devrais peut-être créer une nouvelle classe qui serait statique et contenir toutes ces variables CONST.
De cette façon, les vues du contrôleur et les tests unitaires peuvent les utiliser. De cette façon, si je dois changer le message d'erreur, je n'ai qu'à le changer à un endroit. Comme je ne suis pas en train de tester le message d'erreur que je suis en train de tester s'il est défini. La même chose à dire pour les exceptions J'ai quelques messages personnalisés mais je ne suis pas en train de tester si le message est correct, plus si l'attente est attrapée.
La façon dont je le teste cependant est de voir si le message est le message que je m'attends puisque si ce n'est pas le message ou le message n'existe pas alors quelque chose s'est mal passé. Je suis novice dans les tests unitaires, donc je voulais m'assurer que ce que je ferais ne dérangerait pas mes tests unitaires.
Pour moi, cela a du sens, mais je pensais mieux vérifier d'abord.
Merci
Salut merci. J'ai complètement oublié IsNotNull et tout ce que je viens d'utiliser pour tester avec des égaux (je suis encore novice en tests unitaires). Je pense que je vais revenir en arrière et changer cela et regarder les différents. Cela semble être ce dont j'ai besoin. Je me fiche de ce que le message dit, je me soucie juste qu'une erreur a été définie pour cette méthode. Je ne me sens pas aventureux en ce moment J'essaie toujours d'apprendre les bases. – chobo2