Cobertura: cómo cubrir las interfaces spring-data @Repository
En cuanto a la siguiente información:
https://stackoverflow.com/a/14601831/704246
Cobertura no instrumenta interfaces
Me gustaría saber cómo agregar interfaces de datos de primavera a los resultados de cobertura, ya que@Repository
las clases de implementación solo son declaradas e instaladas por Spring en tiempo de ejecución.
Considere la siguiente interfaz:
// src/main/java/my/package/MyObjectRepository.java
@Repository
public interface MyObjectRepository {
MyObject findMyObjectByCodeAndName(String code, String name);
}
y siguiente prueba:
// 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");
}
}
No me importa cambiar a Jacoco, pero he leído que tampoco instrumenta interfaces.
¿Cómo se pueden cubrir los siguientes casos? El mismo problema / pregunta ocurre con respecto a Mybatis Mapper, que se declaran como interfaces, pero el desarrollador no escribe una declaración concreta de la clase Java que las implemente, pero sí el marco en tiempo de ejecución.
He abierto unboleto Pero todavía estoy esperando una respuesta.