我使用 JUnit 和 Mockito。 我有一个方法,它在 try-catch 语句中包含 switch-cases。所有案例都返回“null”pojo,但这不是问题,因为我知道哪个 pojo(=案例)返回了它们。但是try-catch块捕获返回的错误,这样最终返回的是一个“错误”字符串。所以我无法解释,谁“案例”删除了“错误”字符串。这样我就无法确定这个电话是否是在正确的方向上进行的,即使这就是工作。
代码草图:
try{
switch (String str):
case "a":
return mapper.writeValueAsString(sampleService.sampleServiceMethod(samplePojo));
...
} catch () {
return DefaultMethodResult.error.name()
}
在我的实践中,你可以定义一个case值,当出现异常时你可以获取case值,就像这样:
try {
int caseValue = 1; // replace with actual case value
switch (caseValue) {
case 1:
// code for case 1
break;
case 2:
// code for case 2
break;
// add more cases as needed
default:
// default case code
}
} catch (Exception e) {
System.out.println("Exception occurred in case: " + caseValue);
}
希望能解答您的疑惑。