IIC2113-2022-2 / Syllabus

4 stars 0 forks source link

[Tarea 2] Testeando VC #24

Open vcrb18 opened 2 years ago

vcrb18 commented 2 years ago

Hola, tengo demasiadas dudas testeando la vista y el controlador. No sé bien cómo hacer esto, estoy leyendo la documentación de microsoft pero no sé si tendrá un enfoque muy distinto al curso, dado que en los ppt vimos solo como testear el modelo, y no me logro acordar si en clases se dijo algo más al respecto. Estoy bien perdido asique acepto todo tipo de ayuda.

vcrb18 commented 2 years ago

Tengo la duda también, que cada método que quiero testear tiene que ser público para yo poder testearlo. Está correcto esto?

vcrb18 commented 2 years ago

Luego, si en mi controlador llamo a un método de una clase, pero ese método ya lo tengo testeado en el modelo, como hago el test respectivo en el controlador si básicamente ya se que funciona?

RodrigoToroIcarte commented 2 years ago

Creo que sería bueno que tomaras el curso de Testing en el futuro :). El foco de testing en diseño detallado es que ganes experiencia práctica y obtengas algunos de los beneficios de usar tests. Por lo mismo, no nos meteremos en temas complejos. Las preguntas que haces son temas complejos de testing. Es difícil testear la vista y el controlador. También hay discusiones sobre qué hacer con métodos privados porque, tal como dices, no los puedes testear sin hacerlos públicos (que no es la idea).

Por lo mismo, estos son mis consejos:

  1. Solo testea tus métodos públicos. Esos métodos públicos accederán a tus métodos privados por lo que igual terminarás testeando tus métodos privados indirectamente.
  2. Para testear el controlador y la vista puedes usar un smoke test. La idea es super simple. Crea un jugador aleatorio y deja que juegue. Ese test no tiene que tener ningún Assert. Básicamente el test siempre funciona salvo que se caiga el código. Esta idea es como tonta y brillante al mismo tiempo, porque igual es útil saber si se cae tu código al elegir cartas al azar. El problema es que no es tan informativo como un unit test (que te dice explicitamente qué falló). Mira el ejemplo del dominó con tests que subí a canvas. Ahí uso un smoke test para testear la vista y el controlador.
vcrb18 commented 2 years ago
Gracias profesor por la ayuda!Perdona que me haya demorado en contestar, tuve que dejar un poco de lado diseño detallado estos días. Aplicaré eso para terminar el porcentaje de testing. Estaba como cerca del 60% asique con esos consejos no me debería costar llegar al 80%. Solo me quedó la duda del smoke test que mencionas para testear la vista y el controlador. No lo encuentro en el código del domino, ahí encuentro únicamente lo siguiente que se ve como no terminado.Enviado desde Correo para Windows De: RodrigoToroIcarteEnviado: lunes, 31 de octubre de 2022 19:36Para: IIC2113-2022-2/SyllabusCC: Vicente Cruz; AuthorAsunto: Re: [IIC2113-2022-2/Syllabus] [Tarea 2] Testeando VC (Issue #24) Creo que sería bueno que tomaras el curso de Testing en el futuro :). El foco de testing en diseño detallado es que ganes experiencia práctica y obtengas algunos de los beneficios de usar tests. Por lo mismo, no nos meteremos en temas complejos. Las preguntas que haces son temas complejos de testing. Es difícil testear la vista y el controlador. También hay discusiones sobre qué hacer con métodos privados porque, tal como dices, no los puedes testear sin hacerlos públicos (que no es la idea).Por lo mismo, estos son mis consejos:Solo testea tus métodos públicos. Esos métodos públicos accederán a tus métodos privados por lo que igual terminarás testeando tus métodos privados indirectamente.Para testear el controlador y la vista puedes usar un smoke test. La idea es super simple. Crea un jugador aleatorio y deja que juegue. Ese test no tiene que tener ningún Assert. Básicamente el test siempre funciona salvo que se caiga el código. Esta idea es como tonta y brillante al mismo tiempo, porque igual es útil saber si se cae tu código al elegir cartas al azar. El problema es que no es tan informativo como un unit test (que te dice explicitamente qué falló). Mira el ejemplo del dominó con tests que subí a canvas. Ahí uso un smoke test para testear la vista y el controlador.—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: ***@***.***> Libre de virus.www.avast.com
tomasalvarez13 commented 2 years ago

@RodrigoToroIcarte Es válido tener solo un smoke test? O hay que testear tofo el código por separado?