Tengo una clase estática que estoy usando para guardar mis datos de prueba. Cuando hago referencia a esto en mis pruebas de NUnit, todos los cambios que realizo se mantienen en todas las pruebas.NUnit manteniendo los datos estáticos en las pruebas
Por ejemplo, tengo este código en mi prueba:
OrderDto orderDto = SampleData.OrderDto;
OrderDetailDto orderDetailDto = SampleData.OrderDetailDto;
orderDto.OrderDetails.Add(orderDetailDto);
Y muestra de datos es algo como esto:
public static class SampleData {
public static OrderDto OrderDto = new OrderDto { LastName = "Smith", CreatedById = 5, CreatedByDisplayName = "Smith2" };
}
La primera vez que lo dirige, orderDto tiene 0 OrderDetails. La segunda vez tiene 1, luego 2, etc. Pensé que entre las pruebas de NUnit, nada persistía. ¿Guarda en caché las propiedades estáticas?
Estaba actualizando el objeto estático porque había una instancia y eso es lo que hicieron sus pruebas. Las pruebas unitarias son como el código normal; si actualizan un campo estático, el campo se actualiza. Ahora está devolviendo una nueva instancia cada vez que se llama a este método, lo que significa que los cambios solo afectan a la instancia actual. – TrueWill