gpt4 book ai didi

spring-boot - Spring 单元测试休息 Controller

转载 作者:行者123 更新时间:2023-11-28 21:22:09 24 4
gpt4 key购买 nike

测试这些示例获取映射的最佳和最简单的解决方案是什么?你能举一些简单的例子吗?

@GetMapping("/")
public List<UserDto> get() {
return userService.getUsers().stream().map((User user) -> toUserDto(user)).collect(Collectors.toList());
}

@GetMapping(path = "/{id}")
public HttpEntity<UserDto> findById(@PathVariable(name = "id") long id) {
User user = userService.unique(id);
if (user != null) {
return new ResponseEntity<>(toUserDto(user), HttpStatus.OK);
} else {
return new ResponseEntity<>(HttpStatus.NOT_FOUND);
}
}

最佳答案

使用 MockMvc 测试 Controller 端点。

@RunWith(MockitoJUnitRunner.class)
public class UserControllerTest {

@InjectMock
private UserContoller controller;

private MockMvc mockMvc;

@Before
public void setup() {
mockMvc = MockMvcBuilders.standaloneSetup(this.controller).build();
}

@Test
public void testFindById() {

// build your expected results here
String url = "/1";
MvcResult mvcResult = mockMvc
.perform(MockMvcRequestBuilders.get(url)
.andExpect(MockMvcResultMatchers.status().isOk()).andReturn();

String responseAsJson = "some expected response";

Assert.assertEquals("response does not match", mvcResult.getResponse().getContentAsString(),
responseAsJson);

// verify the calls
}
}

编辑:在此处添加指向我的类似答案的链接以供您引用 Spring 5 with JUnit 5 + Mockito - Controller method returns null

关于spring-boot - Spring 单元测试休息 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48891377/

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