gpt4 book ai didi

java - 测试 JSONProcessingException

转载 作者:行者123 更新时间:2023-12-02 11:45:33 29 4
gpt4 key购买 nike

我正在尝试使用 JMockito 测试以下代码。

代码

@RunWith(MockitoJUnitRunner.class)
public class StepFunctionClientTest {

private static final String TEST_STATE_MACHINE_ARN = "testStateMachineArn";
private static final String TEST_EXECUTION_ARN = "testExecutionArn";
private ObjectNode additionalData;
private ObjectMapper objectMapper;

@Mock AWSStepFunctions mockAWSStepFunctions;
private StepFunctionClient stepFunctionClient;

@Before
public void setUp() throws Exception {
stepFunctionClient = new StepFunctionClient(mockAWSStepFunctions, TEST_STATE_MACHINE_ARN);
additionalData = TestData.getObjectNode(TestData.ADDITIONAL_DATA);
objectMapper = new ObjectMapper();
}

@Test(expected=InternalServiceException.class)
public void test() throws Exception {
StartExecutionResult result = new StartExecutionResult();
result.setExecutionArn(TEST_EXECUTION_ARN);

when(mockAWSStepFunctions.startExecution(any())).thenThrow(new JsonProcessingException("Error"){});

stepFunctionClient.startExecution(
TEST_ORDER_ID,
TEST_PAYMENT_STATUS,
null,
false);
}
}

错误

[junit] Testcase: test(com.project.orderservice.client.StepFunctionClientTest):       Caused an ERROR
[junit] Unexpected exception, expected<com.project.commons.exceptions.InternalServiceException> but was<org.mockito.exceptions.base.MockitoException>
[junit] java.lang.Exception: Unexpected exception, expected<com.project.commons.exceptions.InternalServiceException> but was<org.mockito.exceptions.base.MockitoException>
[junit] at org.mockito.internal.runners.DefaultInternalRunner$1.run(Unknown Source)
[junit] at org.mockito.internal.runners.DefaultInternalRunner.run(Unknown Source)
[junit] at org.mockito.internal.runners.StrictRunner.run(Unknown Source)
[junit] at org.mockito.junit.MockitoJUnitRunner.run(Unknown Source)
[junit] Caused by: org.mockito.exceptions.base.MockitoException:
[junit] Checked exception is invalid for this method!
[junit] Invalid: com.project.orderservice.client.StepFunctionClientTest$1: Error
[junit] at com.project.orderservice.client.StepFunctionClientTest.test(StepFunctionClientTest.java:157)

我在这里缺少什么?

最佳答案

JsonProcessingException是一个受检查的异常,这意味着如果您想抛出它,该方法必须将其包含在其签名中。否则你会得到上面的错误:

Checked exception is invalid for this method!

您只能抛出此处列出的已检查异常 -> StartExecutionRequest .

或者一个RuntimeException

关于java - 测试 JSONProcessingException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48230893/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com