如果所有情况都返回“错误”字符串,如何测试 switch-case?

问题描述 投票:0回答:1

我使用 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()
}
java spring unit-testing switch-statement try-catch
1个回答
0
投票

在我的实践中,你可以定义一个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);
}

希望能解答您的疑惑。

© www.soinside.com 2019 - 2024. All rights reserved.