java - 如何对包含 try/catch 块的方法进行单元测试
问题描述
我必须测试负责接受输入的方法。它包含 try/catch 块。我应该进行单元测试吗?如果是这样,该怎么做?
static String takeStringInput(Scanner input, String label) {
while (true) {
try {
System.out.println(label + ": ");
return input.next();
} catch (InputMismatchException e) {
System.out.println("Try again, bad input");
input.next();
}
}
}
模拟扫描仪是不可能的,因为不可能模拟最终课程。
解决方案
模拟扫描器(可能使用 Mockito)以返回有效值。这将测试“幸福之路”。然后,修改模拟,使其返回一个异常,然后返回一个有效值。
推荐阅读
- flutter - Flutter 从 Firestore 检索数据作为列表
- javascript - SAPUI5 POST 请求总是导致 500 服务器错误 (OData)
- c - 在 C 中,如何查找字符串中是否存在相互矛盾的(否定的)文字?
- angular - 调整表格列的宽度 - Angular Material Table
- mysql - 可以通知c代码有关表更改的Mysql触发器
- python - 计算 A* 算法路径的长度
- microservices - 我们应该在微服务中创建不同的端点来获取单个数据并获取列表,还是应该多次使用调用单个数据端点
- json - 生成 AWS Lamba 使用的 IP 列表
- python - 对 UCI 成人数据集进行聚类
- java - 使用 JPackage 制作 AppImage