Rozdziel logikę i porcje interfejsu użytkownika - nie przechowuj całej logiki biznesowej i skomplikowanego kodu w kodzie źródłowym. Zamiast tego zbuduj je ze standardowej struktury warstw (warstwa danych, reguły biznesowe/warstwa logiczna, warstwa interfejsu użytkownika). Zapewni to, że Twój kod logiczny, który chcesz przetestować, nie odwołuje się do formularza, ale zamiast tego używa klas, które są łatwo testowane jednostkowo.
Dla bardzo prosty przykład, nie mają kodu, który wykonuje to:
string str = TextBox1.Text.ToString();
//do whatever your code does
TextBox2.Text = str;
Zamiast wyodrębnić logiki do osobnej klasy ze sposobem:
TextBox2.Text = DoWork(TextBox1.Text.ToString());
public class Work
{
public string DoWork(string str)
{
//do work
return str2;
}
}
ten sposób można napisać testy jednostkowe sprawdzające, czy DoWork zwraca poprawne wartości:
string return = DoWork("TestThisString");
Teraz cała twoja logika to jednostki tabela, z jedynym kodem, który ma odnieść się do strony bezpośrednio w twojej warstwie interfejsu.
Świetne pytanie. Zastanawiam się nad tym samym. – RSolberg
To jest bardzo niejasne pytanie. Na twoje pytanie zwykle można uzyskać listę narzędzi, ale wydajesz się, że jest jakiś magiczny sposób na zmniejszenie liczby błędów w kodzie. O co dokładnie pytasz? – ryeguy
@ryeguy Jego pytanie jest ukierunkowane na projektowanie. Pyta, w jaki sposób styl testowania jednostek pasuje do aplikacji o dużej liczbie użytkowników. Carlten był w stanie odpowiedzieć na to pytanie. – DevinB