Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
03.03.2020, 15:07
|
|||
---|---|---|---|
Apache Camel and junit test |
|||
#18+
всем привет. создал минимальный spring-boot проект для отработки тестов с camel. При отправке на тест вываливается сообщение что единственный тест не прошел, хотя в предыдущей строке есть сообщение Код: java 1.
Кто-нибудь сталкивался с это проблемой ? PS: сам проект прицепил. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.03.2020, 15:12
|
|||
---|---|---|---|
Apache Camel and junit test |
|||
#18+
screen short прицепил ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.03.2020, 15:46
|
|||
---|---|---|---|
|
|||
Apache Camel and junit test |
|||
#18+
kadet, ну... Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
В маршруте вы шлете в итоге в file:kgw, а в тесте мокаете mock:file:kgw - вот в нее ничего не приходит, а изначального говорите, что в нее должно Goodbye прилететь. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.03.2020, 17:27
|
|||
---|---|---|---|
Apache Camel and junit test |
|||
#18+
Андрей Панфилов kadet, ну... Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
В маршруте вы шлете в итоге в file:kgw, а в тесте мокаете mock:file:kgw - вот в нее ничего не приходит, а изначального говорите, что в нее должно Goodbye прилететь. что-то не то. смотрите, у нас есть маршрут: 1. "Начало" (идентификатор "direct:firstRoute") 2. "Конец" (идентификатор "file:kgw") В тесте я объявляю, что : 1. "Конец" ("file:kgw") это мок 2. "Конец" ("file:kgw") должен иметь содержимое "Goodbye" ( mock.expectedBodiesReceived("Goodbye"); ) 3. При помощи template отправляем сообщение (типа null) в маршрут, который имеет узел "setBody(constant("Goodby"))" Т.е. несмотря на то что в маршрут отправлено нулевое сообщение, маршрут сам должен его заполнить и мок должен это увидеть и подтвердить. Однако в терминале (консоль) мы видим, сначало положительное утверждение о выполнении теста и тут же в следующей строке сообщение о провале теста. И общий результат естественно красный. Это меня вообще "выбивает" из колеи PS: я упростил тест в том, что вместо Код: java 1.
поставил Код: java 1.
но результат тот же. У меня возникает такое впечатление, что тест как-буд-то вызывается два раза ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.03.2020, 17:46
|
|||
---|---|---|---|
|
|||
Apache Camel and junit test |
|||
#18+
Поставь лог в маршрут, скорее всего все нормально вызывается один раз. Откуда пример тестов взят? - ставлю на то, что бут с кемелом в этом плане интегрирован весьма фигово, и ничего на самом деле не мокается нормально. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.03.2020, 19:12
|
|||
---|---|---|---|
|
|||
Apache Camel and junit test |
|||
#18+
kadet смотрите, у нас есть маршрут: 1. "Начало" (идентификатор "direct:firstRoute") 2. "Конец" (идентификатор "file:kgw") В тесте я объявляю, что : 1. "Конец" ("file:kgw") это мок 2. "Конец" ("file:kgw") должен иметь содержимое "Goodbye" ( mock.expectedBodiesReceived("Goodbye"); ) ох... вы внимательно прочли что я написал? В маршруте у вас "file:kgw", в тесте "mock:file:kgw" (если не особо заметно, то поясню: названия разные), поэтому используя сконфигурированный таким образом маршрут, в "mock:file:kgw" ничего прилететь не может. Если нужно подменять эндпойнты моками, то самый простой вариант - использовать плейсхолдеры: https://camel.apache.org/manual/latest/using-propertyplaceholder.html, тогда в тестах можно свои названия объявить. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.03.2020, 19:20
|
|||
---|---|---|---|
|
|||
Apache Camel and junit test |
|||
#18+
Ну ТС определенно на @MockEndpoints("file:kgw") рассчитывает ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.03.2020, 11:44
|
|||
---|---|---|---|
Apache Camel and junit test |
|||
#18+
SpringMan Поставь лог в маршрут, скорее всего все нормально вызывается один раз. Откуда пример тестов взят? - ставлю на то, что бут с кемелом в этом плане интегрирован весьма фигово, и ничего на самом деле не мокается нормально. тест взял ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.03.2020, 15:03
|
|||
---|---|---|---|
Apache Camel and junit test |
|||
#18+
[quot Андрей Панфилов#22091940] kadet вы внимательно прочли что я написал? В маршруте у вас "file:kgw", в тесте "mock:file:kgw" (если не особо заметно, то поясню: названия разные), поэтому используя сконфигурированный таким образом маршрут, в "mock:file:kgw" ничего прилететь не может. Если нужно подменять эндпойнты моками, то самый простой вариант - использовать плейсхолдеры: https://camel.apache.org/manual/latest/using-propertyplaceholder.html, тогда в тестах можно свои названия объявить. Префикс "mock" в UnitTest в выражении Код: java 1. 2.
"сообщает" движку, что нужно "применить" mock к узлу (EndPoint) "file:kgw" и выполнить инъекцию в переменную "mock" типа "MockEndpoint". ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.03.2020, 15:13
|
|||
---|---|---|---|
Apache Camel and junit test |
|||
#18+
причина, по которой в этом простом приложении "сваливался" тест, заключалась в том, что аннотация "@Test" имела объявление Код: java 1.
как только я изменил объявление на Код: java 1.
всё заработало. PS: капец просто, все мозги наизнанку вывернул. Так и не понял, почему с "jupiter" отказывается работать. проект прицепил для желающих ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=59&mobile=1&tid=2120881]: |
0ms |
get settings: |
16ms |
get forum list: |
6ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
151ms |
get topic data: |
31ms |
get forum data: |
1ms |
get page messages: |
193ms |
get tp. blocked users: |
0ms |
others: | 300ms |
total: | 700ms |
0 / 0 |