Pregunta

He recientemente empecé a crear mis propias anotaciones y al deporte TDD / BDD, me gustaría probar mi unidad de anotaciones para crear una especificación clara para ellos. Sin embargo, desde las anotaciones son básicamente meras interfaces de lujo que, creo, no se puede realmente crear instancias directamente, ¿hay alguna manera corta de la reflexión de probar la unidad una anotación?

¿Fue útil?

Solución

No es algo que por lo general me gustaría escribir pruebas para, pero usted podría simplemente crear un conjunto de clases de prueba que usan y abusan de la anotación, para probar que es el almacenamiento de los valores de miembro, que tiene los valores predeterminados correctos, etc.

Esto sólo funcionará en las anotaciones de tiempo de ejecución que se specfied en los objetivos correctos, por supuesto.

En mi experiencia, las anotaciones en sí son rara vez lo suficientemente interesante como para justificar las pruebas unitarias - por lo general es el código que los utiliza que necesita pruebas. Pero entonces yo no soy del código de la escuela una cobertura del 100% de pensamiento: -)

Otros consejos

Las anotaciones tienen algún impacto (de lo contrario, no tendría sentido para usarlos). Así que no probar la presencia de anotación, pero el efecto que debería tener.

Puede prueba de la unidad si su definición de anotación está bien: puede ser aplicado al conjunto de elementos válidos, es que esté disponible en tiempo de ejecución, si es necesario, ¿el valor predeterminado inicializado correctamente? Luego, más tarde, unidad de prueba de la clase que va a procesar su anotación.

No se puede probar directamente ya que, como se anotó, no hay nada allí para probar. Se podría probar algunas cosas, sin embargo:

  • Los objetos con anotaciones en el código tienen ningún anotaciones esperadas en tiempo de ejecución
  • Los valores por defecto se han inicializado
  • Las anotaciones se unen a las cosas que les espera a

Cuando se prueba de unidad, una de las cosas que puede probar es que su aplicación se ajusta a la interfaz. Así que si una anotación implica cierto comportamiento o propiedades (por ejemplo, las cosas Serializable realmente debe ser serializable ), que se quiere representar esto en sus pruebas, también.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top