Size: a a a

2020 March 18

Е

Евгений in pro.jvm
Vladimir Petrakovich
Тагир, а почему у StreamEx версия всё ещё 0.x?
после 0.7 будет 8.0
источник

Е

Евгений in pro.jvm
это ж джава
источник

C

Combot in pro.jvm
Татьяна has been banned! Reason: CAS ban.
источник

Е

Евгений in pro.jvm
это что, hr был?)
источник

V

Vladimir in pro.jvm
Евгений
это что, hr был?)
тыкни в ссылочку. Там написано
источник

Е

Евгений in pro.jvm
ну да
источник

PS

Petr Stroganov in pro.jvm
Привет, чат. Вопрос по Spring WebFlux, Reactor
У меня есть класс(сервис), в котором 2 метода, один public, второй private
public метод, назовем его publicMethod, возвращает Flux<FinalEntity>
private метод (privateMethod) возвращает Flux<BaseEntity>

publicMethod берет результат выполнения privateMethod, делает некоторые преобразования над BaseEntity которые дают FinalEntity

Я еще не придумал реализацию этих преобразований, но написал реализацию privateMethod

Вопрос, как мне можно протестировать руками работу этого privateMethod?

В синхронном подходе я просто в идее ставил брейкпоинт и через эвалюатор тестил поведение privateMethod. Сейчас при вызове flux.collectList().block() кидается IllegalStateException("block()/blockFirst()/blockLast() are blocking, which is not supported in thread reactor-http-nio-3")
источник

Е

Евгений in pro.jvm
Petr Stroganov
Привет, чат. Вопрос по Spring WebFlux, Reactor
У меня есть класс(сервис), в котором 2 метода, один public, второй private
public метод, назовем его publicMethod, возвращает Flux<FinalEntity>
private метод (privateMethod) возвращает Flux<BaseEntity>

publicMethod берет результат выполнения privateMethod, делает некоторые преобразования над BaseEntity которые дают FinalEntity

Я еще не придумал реализацию этих преобразований, но написал реализацию privateMethod

Вопрос, как мне можно протестировать руками работу этого privateMethod?

В синхронном подходе я просто в идее ставил брейкпоинт и через эвалюатор тестил поведение privateMethod. Сейчас при вызове flux.collectList().block() кидается IllegalStateException("block()/blockFirst()/blockLast() are blocking, which is not supported in thread reactor-http-nio-3")
написать тест?
источник

VP

Vladimir Petrakovich in pro.jvm
Сколько примерно раз надо кинуть NPE, чтобы Hotspot перестал писать туда стектрейс (с включенным OmitStackTraceInFastThrow)?
источник

Е

Евгений in pro.jvm
а зачем нужен NPE без стактрейса?
источник

PS

Petr Stroganov in pro.jvm
Евгений
написать тест?
это, конечно, хорошо, но метод приватный
неужели нет способа лучше, чем все методы делать публичными, а потом после тестирования делать их обратно приватными?
источник

VP

Vladimir Petrakovich in pro.jvm
Евгений
а зачем нужен NPE без стактрейса?
Чтобы кидать его быстро. А вообще спросите у тех, кто эту оптимизацию придумал.
источник

Е

Евгений in pro.jvm
Petr Stroganov
это, конечно, хорошо, но метод приватный
неужели нет способа лучше, чем все методы делать публичными, а потом после тестирования делать их обратно приватными?
для тестов можно (нужно) делать package private
источник

Е

Евгений in pro.jvm
а вообще, приватные методы не тестируются, это говорит об ошибке архитектуры
источник

Е

Евгений in pro.jvm
если приватные методы в вашем случае - вспомогательные, то вынестите их в отдельный класс EntityHandler, сделайте их публичными и покройте тестами этот класс
источник

PS

Petr Stroganov in pro.jvm
Евгений
а вообще, приватные методы не тестируются, это говорит об ошибке архитектуры
по этому я и не предложил в своем решении писать тесты, но надо в процессе разработки просто проверить, грубо говоря, что метод все делает правильно
источник

VP

Vladimir Petrakovich in pro.jvm
Petr Stroganov
по этому я и не предложил в своем решении писать тесты, но надо в процессе разработки просто проверить, грубо говоря, что метод все делает правильно
Так если это ручной тест, можно и поменять видимость туда-сюда. Но ручной тест не гарантирует, что оно не сломается завтра.
источник

PS

Petr Stroganov in pro.jvm
Vladimir Petrakovich
Так если это ручной тест, можно и поменять видимость туда-сюда. Но ручной тест не гарантирует, что оно не сломается завтра.
вы наверно не до конца поняли мой кейс
проблема не в написании юнит тестов как таковых, их это не особо касается
проблема именно в ПРОЦЕССЕ разработки функционала
то есть есть метод, который что-то делает и это что-то я написал только-что. Мне нужно просто посмотреть результат работы этого метода, не юнит тестирование его
Для этого в идее и есть evaluate expression тулза, и в синхронном коде не составляет труда через нее посмотреть как работает метод, но reactor и webflux работают не синхронно
источник

AG

Alexey Genus in pro.jvm
Vladimir Petrakovich
Сколько примерно раз надо кинуть NPE, чтобы Hotspot перестал писать туда стектрейс (с включенным OmitStackTraceInFastThrow)?
Насколько я понимаю, это не специфицируется, всё зависит от того, как метод, кидающий исключение будет компилироваться
источник

NR

Nikita Ryanov in pro.jvm
Petr Stroganov
вы наверно не до конца поняли мой кейс
проблема не в написании юнит тестов как таковых, их это не особо касается
проблема именно в ПРОЦЕССЕ разработки функционала
то есть есть метод, который что-то делает и это что-то я написал только-что. Мне нужно просто посмотреть результат работы этого метода, не юнит тестирование его
Для этого в идее и есть evaluate expression тулза, и в синхронном коде не составляет труда через нее посмотреть как работает метод, но reactor и webflux работают не синхронно
Ты можешь тестировать в синхронном режиме, если тебе только функционал проверить. Зависит от того, какой шедулер настроишь.
источник