【问题标题】:How To Write Test case for Java Interface which extends Java frame work interface如何为扩展 Java 框架接口的 Java 接口编写测试用例
【发布时间】:2017-06-01 12:02:59
【问题描述】:

我有一个接口,我的接口扩展了 spring PagingAndSortingRepository。我想写单元测试用例。我该如何为此编写单元测试用例。

public interface LookUpRepository extends PagingAndSortingRepository<Lookup, Long> {

    public List<Lookup> findAll();
}

一些身体可以帮助......

提前致谢。

【问题讨论】:

  • 通过 repo 保存一些实体,然后检查 findAll 方法是否返回您保存的所有实体。
  • 有什么问题?只需为您的实现类编写一个测试!
  • @kism3t 没有实现类,一切都由 spring 框架处理。
  • @Sasidhar 这是应该添加到您的问题中的重要信息。

标签: java unit-testing interface


【解决方案1】:

所以因为这个类是一个接口,它没有任何内部逻辑。结果,对它进行单元测试实际上没有意义。相反,您应该对接口的实现进行单元测试。

我见过的一种模式是在接口上定义一组单元测试,然后为每个实现扩展该单元测试。这可以确保所有实现都遵循接口。

public abstract class LookUpRepositoryTest {

  public abstract LookUpRepository getRepository();

  // ... your tests ...
}

public MyLookUpRepositoryTest extends LookUpRepositoryTest {

  @Override
  public LookUpRepository getRepository() {
     return new MyLookUpRepository();
  }

}

当我查看您的代码时,它似乎正在使用 Spring 数据。如果是这种情况,您将需要查看 Spring 单元测试。

【讨论】:

    猜你喜欢
    • 2012-11-06
    • 2023-03-22
    • 2012-12-19
    • 1970-01-01
    • 1970-01-01
    • 2012-10-23
    • 1970-01-01
    • 2011-01-14
    • 2017-02-28
    相关资源
    最近更新 更多