R. Une ligne est marquée comme partiellement couverte si tous les embranchements du code ne sont pas exécutés.
Vous trouverez ci-après quelques exemples :
La ligne qui appelle methodA est partiellement couverte, car il y a deux chemins : soit une exception est lancée et interceptée, soit une exception n'est pas lancée et le programme est exécuté normalement. Dans le cas où l'exception n'est pas lancée, la couverture partielle est indiquée, car l'interception n'est jamais exécutée.
Dans l'exemple ci-dessus, la ligne 4 est marquée comme partiellement couverte. Notez que le code d'initialisation de la variable d'instance est exécuté quel que soit le constructeur utilisé pour créer l'instance de l'objet. Le compilateur place le code d'initialisation dans les deux constructeurs. C'est pourquoi le code ci-dessus est à peu près égal à :

Etant donné que nous n'utilisons qu'un constructeur, l'autre chemin d'exécution n'est pas exploité et la couverture partielle est signalée.
R. Lorsque nous reportons un total de lignes dans un package, nous retirons toutes les lignes partagées par les méthodes, ce qui fait qu'elles ne sont pas comptées en double.
R. Si votre classe ne possède pas de constructeur par défaut précis, le compilateur en génère un pour vous et, comme il est implicite, il peut être associé à cette ligne de code. D'autre part, si vous avez un code d'initialisation statique (par exemple, des champs statiques), le compilateur génère des blocs d'initialisation statiques pouvant également être associés à cette ligne.
R. Lorsque plusieurs critères d'autorisation sont paramétrés (par exemple, la méthode ET le bloc), l'indicateur apparaît en rouge si l'un des critères n'est pas atteint. Les critères d'autorisation sont paramétrés en sélectionnant les propriétés de couverture de code, puis en activant les indicateurs et les pourcentages. Les indicateurs de couverture affichés sont paramétrés en sélectionnant les préférences de couverture de code, puis en activant les indicateurs (méthode, bloc, etc.). La couleur est déterminée par les critères paramétrés à l'aide de la page de propriétés et non de la page de préférences.
R. Les lignes suivantes ne sont pas comptées comme couvertes, non couvertes ou partiellement couvertes et ne sont pas utilisées pour calculer le pourcentage couvert :
R. Une unité exécutable commence au début de chaque bloc de base et à chaque code d'octet dont le numéro de ligne source est différent du code d'octet précédent. Un bloc de base est une zone d'instructions de code d'octet ne pouvant être modifiée par un embranchement. Lorsque la première instruction d'un bloc de base est exécutée, toutes les instructions sont exécutées, par conséquent les instructions sont considérées comme formant un seul groupe.
Les blocs de base se terminent par des instructions telles qu'une branche, un appel, une émission et un retour.
R. C'est à cause de la façon dont les données de couverture de code sont collectées. Pour résoudre ce problème, vous devez utiliser les filtres d'étape :