Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
 Re: Как тестировать микросервисы?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 37971
andreykaT
Petro123
Озверин,
+1

неужели он тебя переубедил против того тчо микросервис это 2-4 строчки и всё?
ты глубже копай. Где в его ПОСЛЕДНЕМ сообщении что нужно 500 строк?
9 апр 19, 10:00    [21856761]     Ответить | Цитировать Сообщить модератору
 Re: Как тестировать микросервисы?  [new]
andreykaT
Member

Откуда:
Сообщений: 1884
Озверин
mayton
Давайте вернемся в самое начало. В родительский топик.
В основу микросервисов (в реализации REST) положен принцип
доступа к т.н. ресурсам. Тоесть правильно организованный
REST-сервис просто предоставляет доступ к репозитарию
с ограниченной семантикой операций. Взять. Положить.
Найти все. Обновить.

Вопрос. В свете вышесказанного мной. Имеет ли смысл
тестировать логику такого REST-сервиса в отрыве от
приложения в целом?


нет такой основы. Что за? Откуда ты это черпаешь? Причем опять! Основа микросервиса - это выделенная бизнес единица...она может вообще без реста реализована, на каком нить json-rpc или gRPC или через mq.
Это архитектура rest`а подразумевает, что все есть ресурс, причем совершенно необязательно, что это какая-то статика.

кстати да, откуда такое мнение что рест прям только со статикой. под запросом гет/ентити может крыться 100500 строк кода которые эти ентити достают создают и т.д. и т.п. не говоря о том что ты можешь и парамами играться и всякое такое. кроме того описание реста само по себе такое же не менее туманное как и любые другие спецификации.

выделенная бизнес-единица. согласен. именно так и есть. она должна быть гранулярной и с минимумом функционала, относящегося только и сугубо лишь к ней самой.

ну а что там потестировать - всегда найдется.
9 апр 19, 10:01    [21856762]     Ответить | Цитировать Сообщить модератору
 Re: Как тестировать микросервисы?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 37971
andreykaT,
Мои слова 3-5 строк это выделенная минимальная атомарная единица работы.
Есть при этом как плюсы так и минусы (геморрой)
9 апр 19, 10:03    [21856766]     Ответить | Цитировать Сообщить модератору
 Re: Как тестировать микросервисы?  [new]
andreykaT
Member

Откуда:
Сообщений: 1884
Petro123
Уж слишком широкий вопрос.
Причем теоретический.
Во первых, в микросервисах есть БЛ. Куда же она делась?
Ведь микросервисы это не ресурсы. Например микросервис:
ЗарегестрироватьЗаявку()
Да. В нём 3-5 строк всего, но и БЛ есть.
...
Во вторых, в больших компаниях и тестирование большое - свой DSL, свои тестировщики. Весь набор типов тестов. Тесты вне проектов и в проектах.
Тесты пишут не программисты.
В маленьких или хайп компаниях это лишняя трата денег.

какие тесты? уточняй. юнит и интеграционные - пишут программисты. это в нормальных конторах а не пет-кид-проектах. некоторые вообще пишут вначале тест потом код.

а вообще это было бы забавно что вот я говнокод накидал который тестами обложить в принципе не возможно потому что он говно а следом за мной мальчик-юнит-тестировщик с криками гоугоу гоу их обкладывает моками и тестами )) хехех. а я при этом ему объясняю как оно должно работать и что я от этих сервисов и методов ожидаю.
9 апр 19, 10:05    [21856770]     Ответить | Цитировать Сообщить модератору
 Re: Как тестировать микросервисы?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 37971
andreykaT
кстати да, откуда такое мнение что рест прям только со статикой.
есть обратная сторона.
При рест БЛ в ангуляре на клиенте. Что тогда на бэке остается?
9 апр 19, 10:05    [21856771]     Ответить | Цитировать Сообщить модератору
 Re: Как тестировать микросервисы?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 37971
andreykaT
какие тесты? уточняй.
табличку выкладывал
9 апр 19, 10:07    [21856773]     Ответить | Цитировать Сообщить модератору
 Re: Как тестировать микросервисы?  [new]
andreykaT
Member

Откуда:
Сообщений: 1884
Petro123
andreykaT
кстати да, откуда такое мнение что рест прям только со статикой.
есть обратная сторона.
При рест БЛ в ангуляре на клиенте. Что тогда на бэке остается?

ты ща описал прям 99% всех современных приложений. на беке остается бл, сесурити, авторизация и всё остальное два звена из трех.

забавно ну давай че бэк вообще выбросим будем сразу давать прямой доступ к бд с твоего ангуляра (это возможно) и пусть сами с ней работают. зачем на лишние прослойки?
9 апр 19, 10:08    [21856774]     Ответить | Цитировать Сообщить модератору
 Re: Как тестировать микросервисы?  [new]
andreykaT
Member

Откуда:
Сообщений: 1884
Petro123
andreykaT
какие тесты? уточняй.
табличку выкладывал

в той таблице написано, что за тесты ответственен программист. или ты еще одну таблицу выкладывал?
9 апр 19, 10:11    [21856779]     Ответить | Цитировать Сообщить модератору
 Re: Как тестировать микросервисы?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 37971
andreykaT,
Ссыль сюда дай и посмотри
9 апр 19, 10:17    [21856788]     Ответить | Цитировать Сообщить модератору
 Re: Как тестировать микросервисы?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 37971
andreykaT
ты ща описал прям 99% всех современных приложений.
эх, молодость - максимализм. Натягивание совы на глобус))
9 апр 19, 10:18    [21856789]     Ответить | Цитировать Сообщить модератору
 Re: Как тестировать микросервисы?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 37971
andreykaT
забавно ну давай че бэк вообще выбросим
ты про REST впервые услышал?
Вчера трехзвенку разбирали.
))
9 апр 19, 10:20    [21856791]     Ответить | Цитировать Сообщить модератору
 Re: Как тестировать микросервисы?  [new]
mayton
Member

Откуда: loopback
Сообщений: 39868
Озверин
mayton
Давайте вернемся в самое начало. В родительский топик.
В основу микросервисов (в реализации REST) положен принцип
доступа к т.н. ресурсам. Тоесть правильно организованный
REST-сервис просто предоставляет доступ к репозитарию
с ограниченной семантикой операций. Взять. Положить.
Найти все. Обновить.

Вопрос. В свете вышесказанного мной. Имеет ли смысл
тестировать логику такого REST-сервиса в отрыве от
приложения в целом?


нет такой основы. Что за? Откуда ты это черпаешь? Причем опять! Основа микросервиса - это выделенная бизнес единица...она может вообще без реста реализована, на каком нить json-rpc или gRPC или через mq.
Это архитектура rest`а подразумевает, что все есть ресурс, причем совершенно необязательно, что это какая-то статика.

А мы можем тестировать БЛ в отрыве от протокола?
9 апр 19, 10:23    [21856795]     Ответить | Цитировать Сообщить модератору
 Re: Как тестировать микросервисы?  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 5044
andreykaT
будем сразу давать прямой доступ к бд с твоего ангуляра (это возможно) и пусть сами с ней работают. зачем на лишние прослойки?


я, конечно, не прямо профессионал ангуляра, но с каких пор на клиенте js можно реализовать доступ к бд?..там же какой-никакой драйвер нужен.
9 апр 19, 10:24    [21856798]     Ответить | Цитировать Сообщить модератору
 Re: Как тестировать микросервисы?  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 5044
mayton
Озверин
пропущено...


нет такой основы. Что за? Откуда ты это черпаешь? Причем опять! Основа микросервиса - это выделенная бизнес единица...она может вообще без реста реализована, на каком нить json-rpc или gRPC или через mq.
Это архитектура rest`а подразумевает, что все есть ресурс, причем совершенно необязательно, что это какая-то статика.

А мы можем тестировать БЛ в отрыве от протокола?


если у нас хватило ума выделить бизнес логику в отдельный слой - то да. Наверное, встречный вопрос, с каких пор протокол стал частью бизнес логики? Я понимаю еще в специфичных вещах, где протокол - это бизнес ценность приложения, но в корпоартивном секторе?хм..
9 апр 19, 10:26    [21856804]     Ответить | Цитировать Сообщить модератору
 Re: Как тестировать микросервисы?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 37971
Озверин,
Тут вопрос, как выделить БЛ при микросервисах?
Так как я их не поклонник).
Смотрю на них с изумлением))) LOL
Читал что в них БЛ может быть размазана).
9 апр 19, 10:30    [21856809]     Ответить | Цитировать Сообщить модератору
 Re: Как тестировать микросервисы?  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 5044
Petro123
Озверин,
Тут вопрос, как выделить БЛ при микросервисах?
Так как я их не поклонник).
Смотрю на них с изумлением))) LOL
Читал что в них БЛ может быть размазана).


микросервис - обычное приложение. Там те же слои: dao, service и третий - транспортный(может быть как рест контроллер, так и лиснер для mq. к примеру). Куда выносить бизнес логику - ровно такая же дилемма, как и в обычном приложении - либо это сервис слой + анемичные модели, либо это рич модели, которые вбирают в себя дао и бизнес логику.

Сейчас, чаще всего, это сервис слои, где происходит всякая бизнес магия. Имеет смысл тестировать именно эти бизнес слои, куда на вход дают одно и ждут на выходе другого.

Рест контроллеры, к примеру, чаще тестируют на то, как он ведет себя при ошибках версионности, проверяют, что на входе стоят нужные валидаторы моделей, проверяют, что при ошибках ответ соответствует схеме и так далее.
9 апр 19, 10:35    [21856822]     Ответить | Цитировать Сообщить модератору
 Re: Как тестировать микросервисы?  [new]
andreykaT
Member

Откуда:
Сообщений: 1884
Озверин
andreykaT
будем сразу давать прямой доступ к бд с твоего ангуляра (это возможно) и пусть сами с ней работают. зачем на лишние прослойки?


я, конечно, не прямо профессионал ангуляра, но с каких пор на клиенте js можно реализовать доступ к бд?..там же какой-никакой драйвер нужен.

ну типа к бд ж можно по тцп подключиться открытием сокета. на жеесе ж это возможно? ) (честно не в курсе). если нет ну можно сделать минимальный бэк который будет тупо трубой от фронта к базе. и пусть фронты совершенно ни в чем себе не отказывают. даже авторизация аутентификация через бд.
9 апр 19, 10:51    [21856840]     Ответить | Цитировать Сообщить модератору
 Re: Как тестировать микросервисы?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 37971
andreykaT
минимальный бэк который будет тупо
именно. Бэк импотент и делают.
9 апр 19, 10:56    [21856849]     Ответить | Цитировать Сообщить модератору
 Re: Как тестировать микросервисы?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 37971
Озверин
микросервис - обычное приложение.

Я и говорю - buzzword.
И весь веб так говорит.
9 апр 19, 10:58    [21856852]     Ответить | Цитировать Сообщить модератору
 Re: Как тестировать микросервисы?  [new]
mayton
Member

Откуда: loopback
Сообщений: 39868
Озверин
mayton
пропущено...

А мы можем тестировать БЛ в отрыве от протокола?


если у нас хватило ума выделить бизнес логику в отдельный слой - то да. Наверное, встречный вопрос, с каких пор протокол стал частью бизнес логики? Я понимаю еще в специфичных вещах, где протокол - это бизнес ценность приложения, но в корпоартивном секторе?хм..

Я-же про это тему топика веду. Если исключить end-to-end. То тестировать надо только логику.
9 апр 19, 11:01    [21856855]     Ответить | Цитировать Сообщить модератору
 Re: Как тестировать микросервисы?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 37971
mayton
end-to-end
этому термину вроде пара лет всего).
9 апр 19, 11:12    [21856868]     Ответить | Цитировать Сообщить модератору
 Re: Как тестировать микросервисы?  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 5044
andreykaT
Озверин
пропущено...


я, конечно, не прямо профессионал ангуляра, но с каких пор на клиенте js можно реализовать доступ к бд?..там же какой-никакой драйвер нужен.

ну типа к бд ж можно по тцп подключиться открытием сокета. на жеесе ж это возможно? ) (честно не в курсе). если нет ну можно сделать минимальный бэк который будет тупо трубой от фронта к базе. и пусть фронты совершенно ни в чем себе не отказывают. даже авторизация аутентификация через бд.


спринг давно ввел понятие RepositoryRestResource;) Там даже безопасность можно прикрутить.
9 апр 19, 11:14    [21856871]     Ответить | Цитировать Сообщить модератору
 Re: Как тестировать микросервисы?  [new]
andreykaT
Member

Откуда:
Сообщений: 1884
Озверин
andreykaT
пропущено...

ну типа к бд ж можно по тцп подключиться открытием сокета. на жеесе ж это возможно? ) (честно не в курсе). если нет ну можно сделать минимальный бэк который будет тупо трубой от фронта к базе. и пусть фронты совершенно ни в чем себе не отказывают. даже авторизация аутентификация через бд.


спринг давно ввел понятие RepositoryRestResource;) Там даже безопасность можно прикрутить.

да но всё-равно специфика может быть своя у приложения зависимости и т.п. в целом - да.
9 апр 19, 11:59    [21856931]     Ответить | Цитировать Сообщить модератору
 Re: Как тестировать микросервисы?  [new]
Герой дня
Member

Откуда: obmanula.ru
Сообщений: 30518
мы на тестируем так (используем groovy и Spock Framework)


    def "get categories by brand"() throws Exception {
        given:
            final RestDocumentationResultHandler document = this.document.document(
                    requestParameters(param(Parameters.BRAND_ID, "brand.brandId")),
                    pathParameters(param(BASESTORE, "common.baseStore")),
                    responseFields(getListCategoryDtoFD())
            )

            categoryService.getCategoriesByBrand(BRAND_ID_5355970, BASESTORE_A200) >> [CATEGORY_1461428]
        when:
            MockHttpServletResponse response = mockMvc.perform(get(GET_CATEGORIES_BY_BRAND, BASESTORE_A200)
                    .param(Parameters.BRAND_ID, String.valueOf(BRAND_ID_5355970)))
                    .andDo(document)
                    .andReturn()
                    .response
        then:
            response.status == HttpStatus.OK.value()
    }
9 апр 19, 12:08    [21856946]     Ответить | Цитировать Сообщить модератору
 Re: Как тестировать микросервисы?  [new]
alex55555
Member

Откуда:
Сообщений: 1966
mayton
Если исключить end-to-end. То тестировать надо только логику.

А если в исключённой части косяк?

Правильную логику тоже можно криво вставить, дёрнуть и т.д.
9 апр 19, 12:09    [21856948]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
Все форумы / Java Ответить