Cobertura: Wie werden Spring-Daten behandelt? @Repository-Schnittstellen
In Bezug auf folgende Informationen:
https: //stackoverflow.com/a/14601831/70424
Cobertura instrumentiert keine Schnittstellen
Ich möchte wissen, wie man Quelldaten-Interfaces zu Coverage-Ergebnissen hinzufügt, da@Repository
Implementierungsklassen werden nur zur Laufzeit von Spring deklariert und instanziiert.
Folgende Schnittstelle berücksichtigen:
// src/main/java/my/package/MyObjectRepository.java
@Repository
public interface MyObjectRepository {
MyObject findMyObjectByCodeAndName(String code, String name);
}
und folgender Test:
// 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");
}
}
Ich habe nichts dagegen, zu Jacoco zu wechseln, aber ich habe gelesen, dass es auch keine Schnittstellen instrumentiert.
Wie können folgende Fälle abgedeckt werden? Das gleiche Problem / die gleiche Frage tritt bei Mybatis Mapper auf, die als Interfaces deklariert sind, aber keine konkrete Java-Klassendeklaration, die sie implementiert, vom Entwickler, sondern vom Framework zur Laufzeit geschrieben wird.
Ich habe ein @ geöffnFahrkart aber ich warte immer noch auf eine Antwort.