Ramos ausentes ao usar assertTrue em vez de assertNull

No Java / Junit, preciso testar o null com algum objeto. Há várias maneiras de testar uma condição, mas tenho usado o assertTrue para a maioria dos meus testes. Quando eu verifico nulos em um assertTrue, o EclEmma afirma que está testando apenas uma ramificação.

Quando eu resolvo a instrução em uma variável manualmente (como configurar o resultado para um booleano e passá-lo para assertTrue), a cobertura do código é considerada completa na declaração, mas não na linha de inicialização da variável.

Por que isso está acontecendo? Isso está relacionado ao código extra de byte que o Java aparentemente adiciona como mencionado emhttp://sourceforge.net/apps/trac/eclemma/wiki/FilteringOptions? Qualquer solução (além de usar outras instruções de afirmação).

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>

questionAnswers(3)

yourAnswerToTheQuestion