I have upgraded java8 to 17 and spring4 to 5 , I am getting a test case failed.
java.lang.reflect.InaccessibleObjectException: Unable to make protected native java.lang.Object java.lang.Object.clone() throws java.lang.CloneNotSupportedException accessible: module java.base does not "opens java.lang" to unnamed module @7960847b
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199)
at java.base/java.lang.reflect.Method.setAccessible(Method.java:193)
here is my test case:
public class RestExceptionMappingHandlerTest {
private static final String EXPECTED_EXCEPTION_MESSAGE = "testException";
private RestExceptionMappingHandler handler;
@Before
public void initHandler() {
handler = new RestExceptionMappingHandler();
}
@Test
public void shouldHandleGenericException() {
Exception testException = new Exception(EXPECTED_EXCEPTION_MESSAGE);
final ResponseEntity<ClmErrorResponse> actualResponse = handler.handleGenericException(testException);
assertErrorResponse(actualResponse, INTERNAL_SERVER_ERROR, EXPECTED_EXCEPTION_MESSAGE);
}
private void assertErrorResponse(ResponseEntity<ClmErrorResponse> actualResponse, HttpStatus expectedStatus,
String expectedMessage, Set<InputError> expectedErrors) {
MatcherAssert.assertThat(actualResponse.getStatusCode(), is(expectedStatus));
final ClmErrorResponse errorResponse = actualResponse.getBody();
MatcherAssert.assertThat(errorResponse.getCode(), is(String.valueOf(expectedStatus.value())));
MatcherAssert.assertThat(errorResponse.getMessage(), is(expectedMessage));
}
private void assertErrorResponse(ResponseEntity<ClmErrorResponse> actualResponse, HttpStatus expectedStatus,
String expectedMessage) {
assertErrorResponse(actualResponse, expectedStatus, expectedMessage, null);
}
Could someone please help here