Size: a a a

2020 March 03

НК

Николай Клятышев in Java & Co
)) Ну ок)
источник

YR

Yevhenii Ryzhuk in Java & Co
Yevhenii Ryzhuk
Я тестирую слой сервисов, и там если логирование в случае  успеха log.info и в случаи ошибки log.error
Я нашел некий пример на stackoverflow по тестировании логов.
ListAppender<ILoggingEvent> listAppender = new ListAppender<>();
listAppender.start();

logger.addAppender(listAppender);
service.callMethod()
;
В случае успешного выполнения метода сервиса можно достать и сравнить логи:
List<ILoggingEvent> logsList = listAppender.list;
assertEquals("Method finished with success", logsList.get(0).getMessage());

Но как быть если метод
service.callMethod();
бросил Exception ??
@Test(expected = MyException.class)
Все что после вызова метода  - уже не отрабатывает.
logsList.get(0).getMessage()
этот код уже не отработает...
Как проверить что был лог о том, что метод бросил ошибку ???
источник

АС

Андрей Святогоров in Java & Co
Yevhenii Ryzhuk
Я нашел некий пример на stackoverflow по тестировании логов.
ListAppender<ILoggingEvent> listAppender = new ListAppender<>();
listAppender.start();

logger.addAppender(listAppender);
service.callMethod()
;
В случае успешного выполнения метода сервиса можно достать и сравнить логи:
List<ILoggingEvent> logsList = listAppender.list;
assertEquals("Method finished with success", logsList.get(0).getMessage());

Но как быть если метод
service.callMethod();
бросил Exception ??
@Test(expected = MyException.class)
Все что после вызова метода  - уже не отрабатывает.
logsList.get(0).getMessage()
этот код уже не отработает...
Как проверить что был лог о том, что метод бросил ошибку ???
Ну из наивного, обернуть в try catch
источник

АС

Андрей Святогоров in Java & Co
Вызов метода
источник

YR

Yevhenii Ryzhuk in Java & Co
Андрей Святогоров
Ну из наивного, обернуть в try catch
решил через when(repo.findAll(Specification.class)).thenReturn(Collections.emptyList()) с проверкой логики на ожидаемый результат.
Все ок.
источник

D

DOCDOCTOR in Java & Co
Всем привет) начал разбираться с монгой, юзаю mongorepo у спринга, так вот такая штука отрабатывает только метод поиска по id остальные кидают такое: "Query failed with error code 2 and error message 'Field 'locale' is invalid in: { locale: \"user\" }' on server localhost:27017; nested exception is com.mongodb.MongoQueryException: Query failed with error code 2 and error message 'Field 'locale' is invalid in: { locale: \"user\" }' on server localhost:27017, в том числе другие методы самой репы, findAll например. Кто сталкивался? Куда обратить внимание?
источник

C

Cyclone in Java & Co
DOCDOCTOR
Всем привет) начал разбираться с монгой, юзаю mongorepo у спринга, так вот такая штука отрабатывает только метод поиска по id остальные кидают такое: "Query failed with error code 2 and error message 'Field 'locale' is invalid in: { locale: \"user\" }' on server localhost:27017; nested exception is com.mongodb.MongoQueryException: Query failed with error code 2 and error message 'Field 'locale' is invalid in: { locale: \"user\" }' on server localhost:27017, в том числе другие методы самой репы, findAll например. Кто сталкивался? Куда обратить внимание?
\"locale\" ?
источник

D

DOCDOCTOR in Java & Co
Cyclone
\"locale\" ?
не понял что тут не так, объясни пож
источник

C

Cyclone in Java & Co
добавить кавычки вокруг locale? {locale: "aaa"} -> {"locale": "aaa"}
источник

C

Cyclone in Java & Co
Ты вообще @Query пишешь над декларацией метода, или это у тебя декларативный метод типа findByLocale не отрабатывает?

Короче, покеж код. )
источник

D

DOCDOCTOR in Java & Co
Cyclone
добавить кавычки вокруг locale? {locale: "aaa"} -> {"locale": "aaa"}
а, понял, ну запрос не рукописный, его генерит спринг дата, страно, при том один работает findById, а findByAll нет,  это ее методы, как у jpa spring data
источник

D

DOCDOCTOR in Java & Co
Cyclone
добавить кавычки вокруг locale? {locale: "aaa"} -> {"locale": "aaa"}
return userRepository.findAll(); вот весь код, это не работает, а это userRepository.findById(id).get работает
источник

C

Cyclone in Java & Co
Очевидно, надо искать, что не так с меппингом сущности.
Вообще звучит крипово.
источник

D

DOCDOCTOR in Java & Co
Cyclone
Очевидно, надо искать, что не так с меппингом сущности.
Вообще звучит крипово.
монго сама создала у себя строчку _class,  ее же не обязательно писать в классе java?
источник

C

Cyclone in Java & Co
В классе-сущности, кроме id, ты вообще ничего не обязан (из полей).
источник

D

DOCDOCTOR in Java & Co
Cyclone
В классе-сущности, кроме id, ты вообще ничего не обязан (из полей).
хм, ну если он как то делает поиск по id, и возвращает норм объект, то list объектов разве не такой же маппинг будет? просто куча объектов и сложит их в лист, странно, но спасибо, посмотрю в эту сторону
источник

C

Cyclone in Java & Co
DOCDOCTOR
return userRepository.findAll(); вот весь код, это не работает, а это userRepository.findById(id).get работает
Вероятно, в этом конкретном id с полем locale у спринга не возникает проблем, а когда ты вызываешь findAll, то находится некая проблемная запись.
источник

D

DOCDOCTOR in Java & Co
Cyclone
Вероятно, в этом конкретном id с полем locale у спринга не возникает проблем, а когда ты вызываешь findAll, то находится некая проблемная запись.
хорошо буду думать) спасибо)
источник

HW

Hidden Wolf in Java & Co
@banofbot. Причина : бот
источник

B

Banof in Java & Co
🔫 Алсу Абдуллина has been kicked — the only way to get this user back is for admins to manualy unban in chat settings.

Voters who chose to kick:
@Hidden_Wolf3D, Sergey Ivanov, @Doublefire, @hydra2webdotcom, @a_kozhukhovsky, @alexsagent, @newbite_dev, @LaYJeL, Владислав, @idrabenia
источник