Dado que esas anotaciones son muy declarativas, tiene poco sentido escribir pruebas unitarias que simplemente comprueben (con reflejo) que los métodos están anotados: las pruebas simplemente duplicarían el código de producción. Y eso aún dejaría la posibilidad de que las anotaciones no se usen de la manera en que el marco espera que se usen (tal vez sean las anotaciones incorrectas, estén en el lugar equivocado o les falte alguna configuración adicional).
Por lo tanto, una prueba significativa no sería una prueba unitaria, sino una prueba de integración que asegura que el sistema está detectando las anotaciones correctamente. Para mantener la velocidad razonable, intente hacer que las pruebas de integración estén lo más enfocadas posible, instanciando lo menos posible del marco (lo que requiere un conocimiento profundo del marco: RTFS). Si nada más, una prueba de extremo a extremo podría verificar el uso correcto de las anotaciones al analizar el HTML y verificar que los errores de validación se muestren cuando se ingresan datos no válidos en los campos.
Debería ser necesario escribir solo un par de pruebas de integración/extremo a extremo para asegurarse de que la validación se haya habilitado. No debería haber necesidad de probar cada campo, cuando todos funcionan de la misma manera.
¿Qué hacen estas anotaciones de datos? ¿Es validación o algo más? –
Marca algún componente para ser validado. Un ejemplo práctico de validación manual con anotaciones de datos: http://odetocode.com/blogs/scott/archive/2011/06/29/manual-validation-with-data-annotations.aspx –