@jvmchat

Страница 2572 из 2890
Vitalii
24.06.2018
06:49:53
Мне кажется что для более-менее больших контроллеров, поднимать полный контекст весьма удручающее занятие.
Если речь про spring, то вот статья свежая как тестить. http://www.baeldung.com/spring-boot-testing в целом я помню что были улучшения по тестированию именно контроллеров

Обьясните мне, vert.x - он только через веб взаимодействует или там можно консольное приложение писать?

Marat
24.06.2018
06:56:27


Google
Митко Соловец?
24.06.2018
07:47:30
Кошмар...

Marat
24.06.2018
07:53:21
Кошмар...
а как лучше делать, чтобы контекст каждый раз не переподымать?

Митко Соловец?
24.06.2018
07:54:40
а как лучше делать, чтобы контекст каждый раз не переподымать?
Можешь не использовать спринг, мокай зависимости и передавай их ключевому классу через конструктор.

Marat
24.06.2018
07:55:37
для end-to-end тестов такое не всегда подходит

Митко Соловец?
24.06.2018
07:55:56
для end-to-end тестов такое не всегда подходит
Верно, только зачем тогда моки

Если у тебя настоящий тест

Marat
24.06.2018
07:56:26
да и хотелось бы тестировать заодно и правильность спринговой конфигурации (за исключением внешних зависимостей, которые и мокаются)

Верно, только зачем тогда моки
моки только на внешних зависимостях

Митко Соловец?
24.06.2018
07:57:40
Marat
24.06.2018
07:59:35




Митко Соловец?
24.06.2018
08:00:46
А ресет метод у тебя состояние сбрасывает?

Marat
24.06.2018
08:01:40
А ресет метод у тебя состояние сбрасывает?
вызывает Mockito.reset(someMockBean) и накидывает начальные обще-используемые заглушки для методов мока

Google
Quantum Harmonizer
24.06.2018
09:01:30
Ребят, как правильно написать тест на недостижимость объекта? WeakRef + System.gc() работает через раз.

Quantum Harmonizer
24.06.2018
13:01:30
Хороший вопрос. А какие идеи?
Можно сдампить хип, как это делает LeakCanary при поиске утечек. Но лень.

Dmitrii
24.06.2018
13:02:19
Можно поинтересоваться, откуда возникла необходимость написания подобного теста?

Dmitrii
24.06.2018
13:11:45
В тестах? Звучит как минимум сомнительно лично для меня...

Может стоит посмотреть в сторону простенького анализатора хипа...? У jvmti вроде есть что-то

Quantum Harmonizer
24.06.2018
13:13:35
Dmitrii
24.06.2018
13:19:45
Загуглил, у jvmti можно сканить достижимые/недостижимые объекты. Т.е. можно накидать своего агента и его опрашивать, наверное...

Dmitrii
24.06.2018
13:25:16
спасибо
Пожалуйста. Едиснтвенно, что я не использовал в продакшн приложениях jvmti апишку, что-то более подробное, увы, не смогу рассказать.

Cargeh
24.06.2018
14:57:23
Sticker cat debugging, пока писал и смотрел на этого кота - разобрался с вопросом

Минутка крайне специфичной инфы, вдруг кому пригодится Если в jar'нике два main(), и вы в рантайме хотите запустить другой мейн (которого нет в manifest) в отдельном процессе, можно заюзать ProcessBuilder: https://stackoverflow.com/questions/29353424/processbuilder-launch-main-method-in-same-project Мне это показалось магией, и я не понимал, почему в jar'нике два мейна, и каким образом вызывается второй

Marat
24.06.2018
15:07:44
больше магии нужно, когда хочется 2 спринг-бут приложения стартануть внутри одной jvm

там через класслоадеры только (т.к. у спринга есть всякая херня в статичных переменных)

Google
Marat
24.06.2018
15:10:10
Нахрена?))
когда на хосте мало оперативки, например (а так один гц на всё-про-всё, с одним общим хипом)

Pavel ?
24.06.2018
15:12:11
когда на хосте мало оперативки, например (а так один гц на всё-про-всё, с одним общим хипом)
Можно вспомнить про osgi, впасть в депрессию, а потом забить на проц и хип)))

1337
24.06.2018
15:30:20
Если на хосте мало оперативки, то не проще докупиьт, а не возиться с класслоудерами?

Cargeh
24.06.2018
15:36:57
когда на хосте мало оперативки, например (а так один гц на всё-про-всё, с одним общим хипом)
в OpenJ9 неплохая поддержка запуска нескольких jvm на одной тачке. Там JIT as a service (общий на всех, а не у каждого свой), + shared classes (общие либы). + гц всякие для маленьких хипов, может там тоже тоже футприст уменьшен, точно не знаю

Владислав
24.06.2018
16:10:09
всем добрый день. Изучаю Философию Java, возник вопрос для чего нужны самоограничивающиеся обобщенные типы? из книги совсем не понятно

Владислав
24.06.2018
16:11:58
самоограничиваемые может

Таир
24.06.2018
16:12:02
это в книге такой термин?

по английски как там написано?

Владислав
24.06.2018
16:12:50
это в книге такой термин?
одна из задач создайте самоограничиваемый обобщенный тип с абстрактным методом...

Владислав
24.06.2018
16:12:54
на русском читаю

Таир
24.06.2018
16:16:16
Self-bounded types по английский, если это поможет

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

NZoong
24.06.2018
16:26:28
Подскажите пожалуйста почему интерфейс Iterator имеет 2 метода с телом ,если интерфейс не может содержать методы с телом?

Sergey
24.06.2018
16:28:09
default-методы можно, начиная с java 8

Grigorij
24.06.2018
16:28:13
default implementation

Таир
24.06.2018
16:28:23
одна из задач создайте самоограничиваемый обобщенный тип с абстрактным методом...
погуглил, пишут, что такой класс нельзя параметризировать так: class A extends SelfBounded<B>

только class A extends SelfBounded<A>

Google
Владислав
24.06.2018
16:29:09
Это из примеров в книге

Это я понял

Для чего нужна такая конструкция?

Admin
ERROR: S client not available

Таир
24.06.2018
16:29:54
и это позволяет в определении класса SelfBounded знать, что параметр — не какой-то непонятный класс, а именно подкласс себя

NZoong
24.06.2018
16:30:03
default-методы можно, начиная с java 8
Спасибо ,я че то не в тренде

Таир
24.06.2018
16:30:19
Для чего нужна такая конструкция?
вот здесь кажется получше объяснили https://stackoverflow.com/questions/3061759/why-in-java-enum-is-declared-as-enume-extends-enume

Для чего нужна такая конструкция?
вот здесь даже лучше объяснили https://stackoverflow.com/questions/3067891/what-would-be-different-in-java-if-enum-declaration-didnt-have-the-recursive-pa

Владислав
24.06.2018
16:46:07
А, ну это в использовании методов по большему счету Что мы знали, что используем параметры с одним родителем(сравнить их можем, например)

Но вещь все равно сложная..

Dmitrii
24.06.2018
19:38:53
Владислав
24.06.2018
19:40:05
А что это?
Ну, ниже почитайте Уже разобрали

Конструкция языка для обеспечения типобезопасности в java при использовании дженериков

Андрей
24.06.2018
20:06:11
Здравствуйте! пусть у нас есть json вида { name1: value1 name2: value2 } JSON сериализуется в dto проблема в том,что когда json приходит с пропущенным полем, например: { name2: value2 } поле name1 всё равно сериализуется в dto в null задача: сбросить в dtoшке только те поля, которые явно сброшены в null и не трогать пропущенные пример: { name1: null } сбросить только name1 и не трогать name2

Georgy
24.06.2018
20:12:42
Здравствуйте, у вас там невалидный json в примере

Андрей
24.06.2018
20:14:02
А условие задачи такое допускает

И кавычки у полей я не ставил

Потому что дело не в них

Georgy
24.06.2018
20:17:20
а что значит JSON сериализуется в dto?

Grigory
24.06.2018
20:17:36
а что значит 'сбросить'?

Google
Андрей
24.06.2018
20:18:08
Присвоить null

Georgy
24.06.2018
20:18:16
я не понимаю там процесс сериализации или десериализации идет

Sergey
24.06.2018
20:18:22
А дтошка уже что ли существует ?

Grigory
24.06.2018
20:18:27
засутапить нулл там где уже нулл?

Sergey
24.06.2018
20:18:28
Слишком много вопросов

Андрей
24.06.2018
20:19:06
Евгений
24.06.2018
20:19:23
а что ты хочешь чтобы было вместо null?

Grigory
24.06.2018
20:19:24
поле name1 всё равно сериализуется в dto в null ты ж вроде и так нулл хочешь?

Sergey
24.06.2018
20:19:25
И ты хочешь заменить одну на другую

Sergey
24.06.2018
20:19:46
При этом оставляя поля которые выставлены, если в новой они нулл

Ответ один - руками мерджить

Написать свой десериалайзер

Страница 2572 из 2890