Separar la lógica y las partes de la interfaz de usuario: no tiene toda la lógica de su negocio y código complejo en el código detrás de la página. En su lugar, protéjalos de la estructura de nivel estándar (capa de datos, reglas de negocio/capa lógica, capa de IU). Esto asegurará que su código lógico que desea probar no haga referencia al formulario, sino que utiliza clases que sean probadas de manera sencilla.
Para un ejemplo muy básico, no tienen código que hace esto:
string str = TextBox1.Text.ToString();
//do whatever your code does
TextBox2.Text = str;
extraer lugar la lógica en una clase separada con un método:
TextBox2.Text = DoWork(TextBox1.Text.ToString());
public class Work
{
public string DoWork(string str)
{
//do work
return str2;
}
}
De esta manera se puede escribir pruebas de unidad para verificar que DoWork está regresando los valores correctos:
string return = DoWork("TestThisString");
Ahora toda la lógica es la unidad de TES tabla, con solo el código que TIENE que hacer referencia a la página directamente aún en su capa de interfaz de usuario.
Gran pregunta. Me he estado preguntando lo mismo. – RSolberg
Esta es una pregunta muy vaga. Normalmente, su pregunta se puede responder con una lista de herramientas, pero lo hace sonar como si hubiera alguna forma mágica de obtener menos errores en su código. ¿Qué estás preguntando exactamente? – ryeguy
@ryeguy Su pregunta es una pregunta orientada al diseño. Él pregunta cómo encaja el estilo Unit Testing con una aplicación de UI muy pesada. Carlten fue capaz de responder eso. – DevinB