Faltan ramas al usar assertTrue en lugar de assertNull
En Java / Junit, necesito probar nulo con algún objeto. Hay una variedad de formas en las que puedo evaluar una condición, pero he estado usando assertTrue para la mayoría de mis pruebas. Cuando verifico si hay nulos en un assertTrue, EclEmma indica que solo está probando una rama.
Cuando resuelvo la declaración en una variable manualmente (como establecer el resultado en un valor booleano y pasarlo a assertTrue), la cobertura del código se considera completa en la afirmación pero no en la línea de inicialización de la variable.
¿Por qué está pasando esto? ¿Está esto relacionado con el código de byte extra que Java aparentemente agrega como se menciona enhttp://sourceforge.net/apps/trac/eclemma/wiki/FilteringOptions? Cualquier solución (además de usar otras aseveraciones).
AssertTrue:
<code>assertTrue( myObject == null ); //1 of 2 branches </code>
AssertTrue:
<code>boolean test = (myObject == null); //1 of 2 branches missing assertTrue(test); // complete </code>
assertNull:
<code>assertNull( myObject ) //complete; </code>