【发布时间】:2024-05-03 10:30:02
【问题描述】:
如何对以下方法进行单元测试?
public static String grabString() {
BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
do {
try {
// call the readline method of the buffered reader object.
return r.readLine();
} catch (Exception e) {
}
} while (true);}
如果我像这样从测试类调用这个方法
String getInput = grabString();
并用它测试它
assertEquals(getInput, "hello");
是否可以使用代码在控制台中输入“hello”而无需键入,以便单元测试立即运行?
【问题讨论】:
-
您可以测试 JDK 中内置的代码,但您可能会认为它已经可以工作。目前尚不清楚您的循环试图实现什么,也不清楚您如何触发诸如异常。我不希望在无限循环中解决问题,而是用
AssetionError包装它,因为它不应该发生而且你不知道如何处理它。
标签: java unit-testing input console