首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cobertura :如何覆盖spring-data @Repository接口

Cobertura :如何覆盖spring-data @Repository接口
EN

Stack Overflow用户
提问于 2015-11-09 11:25:09
回答 1查看 1.9K关注 0票数 8

关于下列资料:

https://stackoverflow.com/a/14601831/704246

Cobertura没有仪器接口。

我想知道如何向覆盖率结果添加Spring数据接口,因为@Repository实现类只在运行时由Spring声明和实例化。

考虑以下界面:

代码语言:javascript
复制
// src/main/java/my/package/MyObjectRepository.java

@Repository
public interface MyObjectRepository  {
    MyObject findMyObjectByCodeAndName(String code, String name);
}

并进行以下测试:

代码语言:javascript
复制
// 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");  
    }
}

我不介意切换到Jacoco,但我读到它也没有仪器接口。

如何涵盖下列案件?同样的问题/问题也发生在Mybatis上,它被声明为接口,但没有实现它们的具体Java类声明是由开发人员编写的,但在运行时由框架编写。

我打开了一个票证,但我仍在等待答案。

EN

回答 1

Stack Overflow用户

发布于 2016-01-14 10:27:46

如果我理解正确,就无法覆盖接口。接口只是定义契约,并且不包含“运行时”命令。代码覆盖率工具只测量从运行的测试中可以到达的行。换句话说,只能涵盖字段声明、构造函数或方法主体。

异常可能是包含一些默认方法的Java8接口。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33608075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档