将数据class转换为map以测试http GET响应体
Convert data class to map to test http GET response body
我正在尝试测试 GET 以创建所有 StatusMapping
对象,但是,我不确定测试它的最佳方法是什么。
响应返回的是地图,而我期待的是 StatusMapping 对象列表。
我应该将请求转换为地图吗?
这是 Service
代码:
fun getAll(): ResponseEntity<List<StatusMapping>> {
return ResponseEntity<List<StatusMapping>>(statusMappingRepository.findAll(), HttpStatus.OK)
}
这是测试
@Test
fun `Get all mappings created`() {
val requests = listOf(
StatusMapping("available", "available"),
StatusMapping("unavailable", "unavailable")
)
requests.forEach { statusMappingService.createMapping(it.toStatusMappingRequest()) }
val response = restTemplate.getForEntity(getRootUrl(), List::class.java)
assertEquals(response.body, requests)
}
这是我得到的错误:
Expected :[{source=available, target=available}, {source=unavailable, target=unavailable}]
Actual :[StatusMapping(source=available, target=available), StatusMapping(source=unavailable, target=unavailable)]
请从替换开始
val response = restTemplate.getForEntity(getRootUrl(), List::class.java)
与
val response = restTemplate.exchange(
getRootUrl(),
HttpMethod.GET,
null,
object : ParameterizedTypeReference<List<StatusMapping>>() {})
假设 restTemplate
是 TestRestTemplate
的实例
我正在尝试测试 GET 以创建所有 StatusMapping
对象,但是,我不确定测试它的最佳方法是什么。
响应返回的是地图,而我期待的是 StatusMapping 对象列表。 我应该将请求转换为地图吗?
这是 Service
代码:
fun getAll(): ResponseEntity<List<StatusMapping>> {
return ResponseEntity<List<StatusMapping>>(statusMappingRepository.findAll(), HttpStatus.OK)
}
这是测试
@Test
fun `Get all mappings created`() {
val requests = listOf(
StatusMapping("available", "available"),
StatusMapping("unavailable", "unavailable")
)
requests.forEach { statusMappingService.createMapping(it.toStatusMappingRequest()) }
val response = restTemplate.getForEntity(getRootUrl(), List::class.java)
assertEquals(response.body, requests)
}
这是我得到的错误:
Expected :[{source=available, target=available}, {source=unavailable, target=unavailable}]
Actual :[StatusMapping(source=available, target=available), StatusMapping(source=unavailable, target=unavailable)]
请从替换开始
val response = restTemplate.getForEntity(getRootUrl(), List::class.java)
与
val response = restTemplate.exchange(
getRootUrl(),
HttpMethod.GET,
null,
object : ParameterizedTypeReference<List<StatusMapping>>() {})
假设 restTemplate
是 TestRestTemplate