Domanda

Ho una classe che inizia con:

public class GeneralID implements WritableComparable<GeneralID>{
...
}

E un altro che è:

public class LineValuesMapper<KI, VI, KO, VO> extends Mapper<LongWritable, Text, Text, IntWritable>{
...
}

Tutti i metodi di queste classi sono coperti. Ma non la loro intestazione. L'intestazione di entrambe le classi viene dipinto come giallo con EclEmma.

Le istruzioni coperti per queste classi sono:

Element Coverage    Covered Instructions    Total Instructions
LineValuesMapper.java   97.3 %  145 149
GeneralID.java  99.3 %  566 570

C'è qualcosa che posso fare per coprire integralmente l'intestazione della classe?

È stato utile?

Soluzione

Per le classi che estendono superclassi generici o implementano interfacce generiche, il compilatore può aggiungere metodi ponti sintetici . Vedere i risultati di guardare il bytecode di un caso simile.

Forse nelle classi, questi metodi non sono chiamati a ponte. OTOH, ho appena letto che Emma ha un'opzione per ignorare metodi sintetici o ponte che è abilitato per impostazione predefinita.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top