Séparez la logique et les parties de l'interface utilisateur - ne disposez pas de toute la logique métier et du code complexe dans le code situé derrière la page. Au lieu de cela, construisez-les à partir de la structure de niveau standard (couche de données, règles métier/couche logique, couche d'interface utilisateur). Cela garantira que votre code logique que vous souhaitez tester ne fait pas référence au formulaire, mais utilise à la place des classes qui sont facilement testées à l'unité.
Pour un exemple très basique, n'ont pas du code qui:
string str = TextBox1.Text.ToString();
//do whatever your code does
TextBox2.Text = str;
extrait au lieu de la logique dans une classe séparée avec une méthode:
TextBox2.Text = DoWork(TextBox1.Text.ToString());
public class Work
{
public string DoWork(string str)
{
//do work
return str2;
}
}
De cette façon, vous pouvez écrire tests unitaires pour vérifier que DoWork renvoie les valeurs correctes:
string return = DoWork("TestThisString");
Maintenant toute votre logique est unité tes table, avec seulement le code qui doit faire référence à la page directement dans votre couche d'interface utilisateur.
Bonne question. Je me demandais la même chose. – RSolberg
C'est une question très vague. Votre question pourrait normalement être répondu avec une liste d'outils, mais vous donnez l'impression qu'il existe un moyen magique d'obtenir moins de bugs dans votre code. Que demandez-vous exactement? – ryeguy
@ryeguy Sa question est une question axée sur le design. Il demande comment le style Unit Testing s'intègre dans une application fortement UI. Carlten était capable de répondre à cela. – DevinB