Estoy usando MS UnitTesting e intentando encontrar mi camino para escribir mis primeras pruebas unitarias. Parece que todas mis pruebas de unidad comienza con la creación de los mismos pocos objetos ...Creación de instancias de objetos en las clases de prueba
[TestMethod]
CanCreateOrder()
{
<create an order>
...
}
[TestMethod]
CanSetOrderDeliveryAddress()
{
<create an order>
<create an address>
order.DeliveryAddress = address;
...
}
[TestMethod]
CanDispatchAnOrder()
{
<create an order>
<create an address>
order.DeliveryAddress = address;
order.Dispatch();
...
}
... etc
¿Es esto normal o tengo yo una idea equivocada? Creo que se suponía que todas las pruebas eran independientes, pero ¿cómo sería posible probar Dispatch()
sin que eso implícitamente dependiera de CreateOrder
y SetDeliveryAddress
que ya está pasando?
Y la segunda parte de la pregunta, si el enfoque anterior se ve bien, ¿debería utilizar una fábrica o algo para crear una instancia de estos objetos en mi proyecto de prueba? No estoy seguro si un proyecto de prueba solo debe contener clases/métodos de prueba, o está bien agregar un grupo de ayudantes allí también.
También me gustaría añadir que podría estar mejor con los constructores de prueba que las fábricas – Gutzofter