Если я запускаю тест, он выдает: Ожидаемый тип контента "XML" не соответствует фактическому типу контента "null".
Я проверил конечную точку через Postman, она работает правильно. Не могли бы вы помочь найти проблему?
@RunWith(MockitoJUnitRunner.Silent.class)
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
public class UserControllerImplTest {
private static final User REGISTER_USER = new User("Tom");
private static final User SUCCESSFUL_REGISTER_USER = new User(2L, "Tom");
@Mock
private UserServiceImpl userService;
@InjectMocks
private UserControllerImpl userController;
@Before
public void initialiseRestAssuredMockMvcWebApplicationContext() {
RestAssuredMockMvc.standaloneSetup(userController);
}
@Test
public void userRegisterSuccess() {
when(userService.registerUser(REGISTER_USER))
.thenReturn(SUCCESSFUL_REGISTER_USER);
given()
.header("Accept", "application/xml")
.contentType(XML)
.body(REGISTER_USER)
.when()
.post("/user/register/")
.then()
.contentType(XML)
.statusCode(201)
.body("id", equalTo("2"));
}
}
Контроллер:
@Override
@PostMapping(path = "/register",
consumes = "application/xml",
produces = "application/xml")
public ResponseEntity<User> registerUser(@RequestBody User user) {
User saveUser = userService.registerUser(user);
return ResponseEntity.status(201).body(saveUser);
}