@@pushnotification Дело в том что по объему кода тесты то поболее будут,чем сам он. И при этом методы простые. Просто код бывает интереснее писать, чем тестировать)). А так да, тот же тестконтейнерс очень хорошо показан😀
Спасибо за видео! Как бы реализовывал интеграционные тесты, если есть невероятная сцепка данных, например, цепочка производства условного товара в N шагов(все шаги дергают разные endpoint, монолит)? Где каждый шаг зависит от данных обработанных на предыдущем и для отдельного тестирования N-го шага нужно было написать 1000+ строк кода(только для подготовки данных для теста) , помимо самого кода теста.
Большое спасибо за видео и курс в целом! Ребята, кто может подсказать: пытаюсь тоже самое повторять на kotlin с корутинами, не могу тестовый метод для create реализовать, получаю ошибку: java.lang.IllegalArgumentException: Only a single ResponseEntity supported at org.springframework.util.Assert.isTrue(Assert.java:111) ~[spring-core-6.1.11.jar:6.1.11] @PostMapping("/orders", consumes = [MediaType.APPLICATION_JSON_VALUE]) @Throws(BindException::class) suspend fun createOrder( @Valid @RequestBody newDeliveryOrder: NewDeliveryOrder, uriComponentsBuilder: UriComponentsBuilder, ): ResponseEntity { try { val createdOrder = ordersService.createOrder(number = newDeliveryOrder.number, comment = newDeliveryOrder.comment) return if (createdOrder != null) { ResponseEntity.created( uriComponentsBuilder.replacePath("orders-service/orders/{orderId}").build(createdOrder.orderId) ) .body(createdOrder) } else { ResponseEntity.badRequest() .contentType(MediaType.APPLICATION_PROBLEM_JSON) .body(null) } } catch (ex: BindException) { throw ex } catch (ex: WebExchangeBindException) { throw BindException(ex.bindingResult) } } Не пойму как победить, где он там видит несколько ResponseEntity?
51:58 Смех злодея, который залил огромный лорем ипсум
Спасибо большое, Вы лучший
Отличное руководство! Так посмотреть - тестирование сложнее написания кода получается.
@@pushnotification Дело в том что по объему кода тесты то поболее будут,чем сам он. И при этом методы простые. Просто код бывает интереснее писать, чем тестировать)). А так да, тот же тестконтейнерс очень хорошо показан😀
Спасибо!
Спасибо, очень круто получается
Спасибо за видео!
круто!
Отличное видео! Хотел бы спросить, планируются ли видео по Kafka?
Да, в планах есть Kafka
Спасибо за видео!
Как бы реализовывал интеграционные тесты, если есть невероятная сцепка данных, например, цепочка производства условного товара в N шагов(все шаги дергают разные endpoint, монолит)?
Где каждый шаг зависит от данных обработанных на предыдущем и для отдельного тестирования N-го шага нужно было написать 1000+ строк кода(только для подготовки данных для теста) , помимо самого кода теста.
Большое спасибо за видео и курс в целом!
Ребята, кто может подсказать: пытаюсь тоже самое повторять на kotlin с корутинами, не могу тестовый метод для create реализовать, получаю ошибку:
java.lang.IllegalArgumentException: Only a single ResponseEntity supported
at org.springframework.util.Assert.isTrue(Assert.java:111) ~[spring-core-6.1.11.jar:6.1.11]
@PostMapping("/orders", consumes = [MediaType.APPLICATION_JSON_VALUE])
@Throws(BindException::class)
suspend fun createOrder(
@Valid @RequestBody newDeliveryOrder: NewDeliveryOrder,
uriComponentsBuilder: UriComponentsBuilder,
): ResponseEntity {
try {
val createdOrder =
ordersService.createOrder(number = newDeliveryOrder.number, comment = newDeliveryOrder.comment)
return if (createdOrder != null) {
ResponseEntity.created(
uriComponentsBuilder.replacePath("orders-service/orders/{orderId}").build(createdOrder.orderId)
)
.body(createdOrder)
} else {
ResponseEntity.badRequest()
.contentType(MediaType.APPLICATION_PROBLEM_JSON)
.body(null)
}
} catch (ex: BindException) {
throw ex
} catch (ex: WebExchangeBindException) {
throw BindException(ex.bindingResult)
}
}
Не пойму как победить, где он там видит несколько ResponseEntity?
Спасибо!
Спасибо!