buenas ,es posible testear una clases abstracta (los metodos concretos)..se podra hacer con mockito o de otra forma?
se que en c# se puede...pero en java nose y tengo que entregar tp...necesito una mano
saludos..
| |||
test de clase abstracta buenas ,es posible testear una clases abstracta (los metodos concretos)..se podra hacer con mockito o de otra forma? se que en c# se puede...pero en java nose y tengo que entregar tp...necesito una mano saludos.. |
| |||
Respuesta: test de clase abstracta Gracias por la respuesta.Estoy hablando de test unitarios.tengo una clases abstractta con metodos concretos y los quiero testear..buscando en google se que en c# se puede mockear u usar los metodos concretos pero en java no encontre info!!yo tengo subclases concretas,pero me parace que la idea es testear desde la superclase |
| ||||
Respuesta: test de clase abstracta Por definición una clase abstracta no se puede instanciar, así que no se puede probar una instancia de una clase abstracta. Corregido mi anterior comentario, la explicación es la misma. No puedes testar una clase abstracta, tienes que hacerlo a través de sus clases derivadas o crear una clase mock que herede de la abstract para probar lo que necesites..
__________________ Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe. |
| ||||
Respuesta: test de clase abstracta En java tienes mockito que hace precisamente eso que dices. mockear en java es lo mismo que te dice xerelo, creas una clase MockClass que extiende tu clase AbstractClass y es la que usas en el test. Pero tienes que implementar los métodos de la clase abstracta, y a lo mejor en alguno de ellos tienes que hacer override, con lo cual si vas a tener otras clases que extiendan esa clase abstracta y tengan diferentes implementaciones de los métodos entonces lo lógico sería testear esas clases extendidas. Si haces el mock para los métodos abstractos tendrías que hacer overrides bien lo mas simples posibles .. imprimir nombre de metodo y parámetros por ejemplo, o lo más parecidos a lo que sería la implementación real del método. Tú mismo.
__________________ if (fuzzy && smooth) { fuzzylog = "c00l"; return true; } |
Etiquetas: |