169 похожих чатов

Привет, чатик. Какую либу взять ktor или spring-boot для api

тестирования продукта со swagger докой. Ни первую ни вторую либу не знаю, пришел из typescript. Какие "фатальные недостатки" для тестирования api у каждой?

15 ответов

38 просмотров

Любую. Ктор проще. У спринга больше интеграций

Если тестируешь контракт API, я бы посоветовал Pact

Если там просто веб + база то проще ктор спринг - это большой мир с кучей своих подводных камней, но с поддержкой всего, что душа пожелает "изкоробки" Из фатальных недостатков ktor vs spring - рецептов/гайдов/доков/ответов на вопросы по спрингу полный интернет, ktor таким пока не богат

Если сваггер есть, то спринг умеет с ним дружить с помощью некоторых библиотек

Rustam-is not a function Автор вопроса

Продукт с микросеросервисами и множеством внешних зависимостей поэтому нужно будет много мокать в этом случае наверно лучше spring? И как вариант openapi-generator https://github.com/OpenAPITools/openapi-generator предлагает сгенерить retrofit проект, но там описание роутов надо делать в интерфейсе, чуть смутил этот момент.

Rustam-is not a function Автор вопроса
Roman Khlebnov
Если тестируешь контракт API, я бы посоветовал Pac...

мне наверно больше надо проект начальный сгенерить, чтобы долго не разбираться как работает либа и чтобы было проще в процессе допиливания. До этого краем глаза видел rest-assured надо было авторизоватся и типизировать некоторые респонсы.

Rustam is not a function
мне наверно больше надо проект начальный сгенерить...

Спринг конечно же берите для таких целей, гайд наверняка по первому гуглу найдется под задачу

Rustam is not a function
мне наверно больше надо проект начальный сгенерить...

Опять же, для таких случаев Pact предоставляет хороший список ситуации для чего он подходит и не подходит: https://docs.pact.io/getting_started/what_is_pact_good_for Из первоначальной задачи - протестировать API - в моём понимании это contract testing (учитывая что есть Swagger спека). В противном случае - картинка с Эскобаром тут была в тему, нет большой разницы что брать - главное смочь адекватно настроить генератор с выбранной системой билда, будь то Gradle или Maven

Roman Khlebnov
Опять же, для таких случаев Pact предоставляет хор...

ну если нужен прям тру Е2Е пакт тут не поможет)

Rustam-is not a function Автор вопроса
Sergey Barmin
Спринг конечно же берите для таких целей, гайд нав...

Пока нашлись гайды только под тестированию приложения написанного на spring-boot. А все остальное похоже сложнее надо передавать в каждый метод url? и отдельно по джавовски типизацию респонса Fruits.class https://spring.io/guides/gs/testing-web/ @Test public void greetingShouldReturnDefaultMessage() throws Exception { assertThat(this.restTemplate.getForObject("http://localhost:" + port + "/", Fruits.class)).contains("Hello, World"); Смотрю на retrofit там как то проще все выглядит и генератор сгенерил контроллеры для автоизации. ktor похож на него.

Rustam is not a function
Пока нашлись гайды только под тестированию приложе...

ретрофит - это вроде же клиент, а не сервер. Вам что нужно-то?

Alexander Nozik
ретрофит - это вроде же клиент, а не сервер. Вам ч...

Клиент, которым можно протестировать написанный сервер, очевидно.

Andrew Mikhaylov
Клиент, которым можно протестировать написанный се...

Я просто не понял, чего там спринг рядом с ним делает. У спринга тоже своей клиент есть?

Alexander Nozik
Я просто не понял, чего там спринг рядом с ним дел...

Канеш, как бы ещё с его помощью микросервисы делали.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта