任何人都可以提出如何制作when(bufferedReader.readLine()).thenReturn(line);
的建议
只打一次电话?
因为我在所有行中都有一个while循环,而我只想测试单行。
答案 0 :(得分:2)
如果您想更改后续调用的返回值,则返回varargs。
cmake CMakeLists.txt -DCMAKE_CXX_COMPILER:STRING=/usr/bin/clang++
make
这将导致它第一次返回行,并且每次都返回null。
编辑: 请注意,您还可以执行以下操作以获得相同的结果:
when(bufferedReader.readLine()).thenReturn(line, null);
答案 1 :(得分:0)
恕我直言,最好使用真实但简单的BufferedReader
而不是存根进行测试。
BufferedReader reader = new BufferedReader(
new StringReader(line)
);
BufferedReader的合同很复杂。因此,如果您更改代码的内部(例如,读取单个字符而不是行),则使用存根进行测试可能会失败,尽管代码仍然正确。