java - 如何在方法中测试业务逻辑?

标签 java testing mockito

我的服务层有这样的方法:

public Long calculateItemsCostInShoppingCart(Long shoppingCartId) {
    List<Item> items = shoppingCartRepository.findAllItems(shoppingCartId);
    Long cost = 0L;
    for (Item item : items) {
        cost += item.getPrice();
    }
    return cost;
}

而且我需要测试列表中所有项目的汇总成本的计算。我考虑过 mockito,但没有成功,因为 mockito 只是创建 stub ,我需要真正的入口数据和基于它们的结果。怎么做到的?

最佳答案

//  create mock
ShoppingRepository mock = mock(ShoppingRepository.class);

// define return value for method findAllItems()
when(mock.findAllItems()).thenReturn(listOf(...));

关于java - 如何在方法中测试业务逻辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48490612/

相关文章:

c# - 创建编码的网络测试

java - 模拟可选参数时出现空指针异常

java - Mockito Junit 测试 - “Wanted but not invoked; However there were other interactions with this mock” 错误

java - Mockito 修改方法行为

java - Spark 驱动程序出现 OutOfMemoryError - 配置 10Gb 时堆转储 1Gb

java - 在已排序行的矩阵中找到第 K 个最小的元素

ruby-on-rails - 如何开始使用 Ruby on Rails 进行 TDD?

java - DataInputStream/DataOutputStream 类和 InputStream/OutputStream 类的区别

java - 从 jPOS ISO 中提取元素值

javascript - Protractor - 从表格中获取文本