java - 如何使用 Mockito 模拟 For 循环

标签 java unit-testing for-loop junit mockito

我是 mockito 的新手。我的问题是如何使用 Mockito 模拟 for 循环?

例如:这是主类:

import java.util.HashSet;
import java.util.Set;

    public class stringConcatination {

        public static void main(String[] args) {
            Set<String> stringSet = new HashSet();
            stringSet.add("Robert");
            stringSet.add("Jim");
            for (String s:stringSet) {
                s = "hi " + s;
            }
        }

}

这是测试类:

import java.util.HashSet;
import java.util.Set;

import org.junit.Test;
import static org.mockito.Mockito.mock;

public class stringConcatinationTest {

    @Test
    public void testMain() {
        Set mockSet = mock(HashSet.class);
        // --  How to mock For Loop --
    }

}

我看到了这个related question .但我无法理解,如何模拟 for 循环。

最佳答案

由于 for 循环只是 iterator() 循环的语法糖,您可以只 stub 该方法并返回模拟的 Iterator 实例

关于java - 如何使用 Mockito 模拟 For 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20007171/

相关文章:

c# - ServiceStack 单元测试 - serviceStack 响应对象未初始化

unit-testing - AngularJS:如何调用事件处理程序并检测测试中的绑定(bind)

c# - 无法使用 xunit 测试 mvc.controller 检查 returnType 是否为 HttpNotFoundResult

python - 从嵌套字典中按键提取值

java - 两个二叉搜索树的联合

java - 网页重定向如何在此页面中工作?

c - For 循环卡在 C (cygwin) 中的函数调用中,非常奇怪的行为我无法理解

excel - 带有循环和联合的 MS VBA

java - 是否有可能一次获得所有的 apache 公共(public)资源?

javascript - 两张图片之间的文字 - 文字在前面,图片紧挨着