Actualmente estoy escribiendo algunos métodos que hacen algunas operaciones básicas en los controles de formulario, por ejemplo, Textbox, Groupbox, estas operaciones son genéricas y se pueden usar en cualquier aplicación.Método de prueba de unidad que usa controles de IU
Empecé a escribir algunas pruebas unitarias y me preguntaba si debería usar los controles de formulario reales que se encuentran en System.Windows.Forms o debería simular las secciones que estoy tratando de probar. Así, por ejemplo:
Decir que tengo este método que se lleva un control y si se trata de un cuadro de texto que se borrará la propiedad de texto como este:
public static void clearall(this Control control)
{
if (control.GetType() == typeof(TextBox))
{
((TextBox)control).Clear();
}
}
entonces quiero probar este método de manera que haga algo de esta manera:
[TestMethod]
public void TestClear()
{
List<Control> listofcontrols = new List<Control>();
TextBox textbox1 = new TextBox() {Text = "Hello World" };
TextBox textbox2 = new TextBox() { Text = "Hello World" };
TextBox textbox3 = new TextBox() { Text = "Hello World" };
TextBox textbox4 = new TextBox() { Text = "Hello World" };
listofcontrols.Add(textbox1);
listofcontrols.Add(textbox2);
listofcontrols.Add(textbox3);
listofcontrols.Add(textbox4);
foreach (Control control in listofcontrols)
{
control.clearall();
Assert.AreEqual("", control.Text);
}
}
¿Debo añadir un referance System.Window.Forms a mi unidad de prueba y utilizar el objeto de cuadro de texto real? o lo estoy haciendo mal?
NOTA: El código anterior es solo un ejemplo, no lo compilé ni lo ejecuté.
Estoy de acuerdo, no hay un uso real para probar .NET Framework. Microsoft lo hace ya en gran medida :). – Tigraine