Cobertura: como cobrir interfaces @Repository de dados de primavera
Em relação às seguintes informações:
https://stackoverflow.com/a/14601831/704246
Cobertura não instrumenta interfaces
Gostaria de saber como adicionar interfaces de dados de primavera aos resultados da cobertura, pois@Repository
as classes de implementação são declaradas e instanciadas apenas pelo Spring no tempo de execução.
Considere a seguinte interface:
// src/main/java/my/package/MyObjectRepository.java
@Repository
public interface MyObjectRepository {
MyObject findMyObjectByCodeAndName(String code, String name);
}
e seguinte teste:
// src/test/java/my/package/MyObjectRepositoryTest.java
// @RunWith(SpringJUnit4ClassRunner.class) + Spring configuration
public class MyObjectRepositoryTest {
@Autowired
private MyObjectRepository myObjectRepository;
@Test
public void myTest() {
myObjectRepository.findMyObjectByCodeAndName("foo","bar");
}
}
Não me importo de mudar para o Jacoco, mas li que ele também não faz interface com o instrumento.
Como os seguintes casos podem ser abordados? O mesmo problema / pergunta ocorre em relação ao Mybatis Mapper, declarado como interfaces, mas nenhuma declaração concreta de classe Java implementando-os é gravada pelo desenvolvedor, mas pela estrutura em tempo de execução.
Eu abri umbilhete mas ainda estou esperando por uma resposta.