Contratos de código .NET 4.0 - ¿Cómo afectarán a las pruebas unitarias?

Por ejemplo estoartículo les presenta

¿Cuál es el beneficio?

El análisis estático parece bueno, pero al mismo tiempo evitaría la posibilidad de pasar nulo como parámetro en la prueba unitaria. (Si seguiste el ejemplo en el artículo que es)

Si bien en el tema de las pruebas unitarias, dado que las cosas están ahora, seguramente no tiene sentido firmar contratos si ya practicas las pruebas automatizadas.

Actualizar

Habiendo jugado con Code Contracts estoy un poco decepcionado. Por ejemplo, basado en el código en la respuesta aceptada:

public double CalculateTotal(Order order)
{
    Contract.Requires(order != null);
    Contract.Ensures(Contract.Result<double>() >= 0);
    return 2.0;
}

Para pruebas unitarias, tutodavía tiene que escribir pruebas para asegurarse de que no se puede pasar el nulo, y el resultado es mayor o igual a cero si los contratos sonlógica de negocios. En otras palabras, si tuviera que eliminar el primer contrato, no se romperían las pruebas, a menos que haya tenido una prueba específica para esta característica. Sin embargo, esto se basa en no utilizar el análisis estático integrado en las mejores ediciones (últimas, etc.) de Visual Studio.

Esencialmente, todos se reducen a una forma alternativa de escribir las declaraciones tradicionales. Mi experiencia realmente usandoTDD, con Contratos de Código muestra por qué, y cómo lo hice.

Respuestas a la pregunta(4)

Su respuesta a la pregunta