¿Así que la única forma de simular objetos es que se puede lanzar la excepción?
Creo que será la manera más fácil, pero también podría hacer un stub (también conocido como un objeto que amplía el objeto real, y obliga a un comportamiento como lanzar una excepción cada vez). O podría usar AOP, pero creo que usar una biblioteca como easymock o jmock va a ser la forma más fácil de hacerlo.
Eso parece un poco inútil. Tal vez es mejor simplemente aceptar no obtener cobertura de código 100%?
Cuando hablo sobre este tema, me gusta cambiar la mentalidad de las personas de preocuparse por un cierto porcentaje de cobertura, y en su lugar utilizar el porcentaje como una herramienta para que sea un mejor desarrollador. Dicho de otra manera, tener 100% de cobertura o 50% de cobertura no necesariamente significa que su código está bien escrito o incluso funcionando, pero usar Cobertura de código como indicador clave cuando está desarrollando un código sobre si ha estado haciendo pruebas, etc. una buena idea.
Mi opinión personal acerca de su pregunta es que si la aplicación es lógica, entonces vale la pena probarla. Entonces, si está atrapando y la excepción y resintonizando falsamente del método, debe tener una prueba para eso. Si está atrapando la excepción y enviándola en otra excepción, debe probar eso. Si está atrapando la excepción y no haciendo nada, entonces debería ser un olor de código que debe corregirse porque eso puede conducir a todo tipo de efectos secundarios inmanejables.
En cuanto a si el 100% no se enoja, diría que sí, no vale la pena. Debe encontrar un buen nivel de comodidad para usted (tal vez 80%, tal vez 90%) y atenerse a él. Pero no lo basaría en los tipos de pruebas (como la lógica de excepciones de prueba), solo debería basarse en la cobertura total y ser visto como un indicador de que no está escribiendo sus pruebas cuando ingresa el código.
Los últimos puntos porcentuales no suelen valer la pena (excepto, por supuesto, si la característica que implementan es un requisito básico, entonces comenzaste con los puntos de porcentaje incorrectos ;-)). –
El código de manejo de excepciones generalmente está lleno de errores, definitivamente vale la pena probarlo. – Peli
Tengo que estar de acuerdo con Peli, lo estamos haciendo al 100% y encontramos toneladas y toneladas de posibles errores haciendo esto. – roundcrisis