Estoy convencido de this presentation y otros comentarios aquí en el sitio que necesito aprender para probar la unidad. También me doy cuenta de que ha habido muchas preguntas sobre qué pruebas unitarias hay aquí. Cada vez que voy a considerar cómo se debe hacer en la aplicación en la que estoy trabajando actualmente, me alejo confundido. Es una aplicación de aplicación xulrunner, y gran parte de la lógica está basada en eventos: cuando un usuario hace clic aquí, esta acción tiene lugar.¿Cómo comprueba una unidad las secciones de código que son procesales o basadas en eventos?
A menudo, los ejemplos que veo para las pruebas son clases de prueba: crean una instancia de un objeto, le dan datos falsos y luego verifican las propiedades del objeto. Eso tiene sentido para mí, pero ¿qué pasa con las piezas no orientadas a objetos?
This guy mentioned que la prueba de unidad basada en GUI es difícil en la mayoría de los marcos de prueba, quizás ese es el problema. La presentación vinculada arriba menciona que cada prueba solo debe tocar una clase, un método a la vez. Eso parece descartar lo que trato de hacer.
Por lo tanto, la pregunta es: ¿cómo puede una unidad probar el código de procedimiento o basado en eventos? Proporcione un enlace a una buena documentación, o explíquelo usted mismo.
Por un lado, también tengo el desafío de no haber encontrado un marco de prueba que esté configurado para probar aplicaciones xulrunner, parece que las herramientas aún no están desarrolladas. Me imagino que esto es más periférico que mi comprensión de los conceptos, escribir código comprobable, aplicar pruebas unitarias.
En realidad, se ha vinculado al mismo artículo dos veces allí - ¿tenía intención de hacerlo? – pc1oad1etter
Creo que estos dos conceptos (DI e IoC) pasan por alto. No creo haber aprendido sobre patrones de diseño en la escuela o en ninguno de mis trabajos. – pc1oad1etter
Tampoco aprendí acerca de los que están en la escuela. He aprendido sobre ellos en el campo. No dejes que tu fondo te constriña. No obtendrá una buena comprensión de estos conceptos sin darle una oportunidad (en la implementación). –