|
Подскажите пожалуйста как протестировать сервлет
|
|||
---|---|---|---|
#18+
есть сервлет Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
я пытаюсь написать к нему тест Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36.
проблема в закомментированной строке. Он лезет в датабазу и там разумеется валится, потому что работает она через коннекшенпул томката. Но как его отучить у меня ума не хватает понять. да и любые поправки будут полезными это мой первый сервлет-тест и я понятия не имею как он на самом деле должен правильно выглядеть. Задача стоит покрыть сервлет тестом. Что именно тестировать - на мое усмотрение. Заранее спасибо за любую помощь. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 18:52 |
|
Подскажите пожалуйста как протестировать сервлет
|
|||
---|---|---|---|
#18+
Простестируй один DAO и все. Вот эту строку. Код: java 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 19:51 |
|
Подскажите пожалуйста как протестировать сервлет
|
|||
---|---|---|---|
#18+
я не понимаю. мне сервлет надо тестировать. зачем одну строку и как? там метод который не надо тестить, я его отдельно уже тестила. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 19:56 |
|
Подскажите пожалуйста как протестировать сервлет
|
|||
---|---|---|---|
#18+
Обычно тестируют то что содержит "бизнес-логику". У тебя - просто обёртка. И накладные расходы на ее тестинг особенно с Мокито перекрывают возможную пользу. Нудно. Многословно. И в тесте еще кучу ошибок наделаешь. Кто вообще тебе задачи ставит? Тестовое задание дали? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 19:58 |
|
Подскажите пожалуйста как протестировать сервлет
|
|||
---|---|---|---|
#18+
у меня вебприложение. типа курсового итогового задания. задача покрыть его тестами. хотябы на 30% те методы что в датабазу лазят я через моки также "нудно-многословно" закрыла. Но этого не хватило. надо на чем-то добрать остальчные % а там кроме сервлетов больше нет ничего) вот и мучаюсь ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 20:06 |
|
Подскажите пожалуйста как протестировать сервлет
|
|||
---|---|---|---|
#18+
Samantata, ну вот ты сделала мок Код: java 1.
Это пустышка которая ничего не делает. Дальше надо ее наполнить правилами "when" точно так-же как и ты сделала для request. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 20:11 |
|
Подскажите пожалуйста как протестировать сервлет
|
|||
---|---|---|---|
#18+
я пытаюсь) when(factoryDAO.getAccountDao().addAccount(currEmail, account, type + exp + last)).thenReturn(true); только оно вызывая getAccountDao(). получает оттуда new AccountDao(). тут же вызывает метод и успешно на нем умирает. надо чтоб оно еще на этапе getAccountDao() больше уже никуда не ходило. Как это сделать? если замокать factoryDAO.getAccountDao(). то будет нульпоинтэксепшн. ибо оно всеравно на нем метод попытается вызвать ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 20:19 |
|
Подскажите пожалуйста как протестировать сервлет
|
|||
---|---|---|---|
#18+
Samantata, Надо снаружи тестировать. Создать клиент http и вызвать POST с разными параметрами. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 20:28 |
|
Подскажите пожалуйста как протестировать сервлет
|
|||
---|---|---|---|
#18+
Samantata только оно вызывая getAccountDao(). получает оттуда new AccountDao(). тут же вызывает метод и успешно на нем умирает. Как оно умирает? Приходит врач и меряет пульс? И пишет заключение? В инфо-технологиях эту красивую метафору обычно описывают как код ошибки или состояние стектрейса где описана настоящая причина. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 20:33 |
|
Подскажите пожалуйста как протестировать сервлет
|
|||
---|---|---|---|
#18+
mayton Samantata только оно вызывая getAccountDao(). получает оттуда new AccountDao(). тут же вызывает метод и успешно на нем умирает. Как оно умирает? Приходит врач и меряет пульс? И пишет заключение? В инфо-технологиях эту красивую метафору обычно описывают как код ошибки или состояние стектрейса где описана настоящая причина. Да очевидно же что accountDAo в этом случае не замоканный и реальный и лезет в БД, там изза отсутствия коннекшена валится. Чем не подходит вариант создания фейкового дао? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 20:35 |
|
Подскажите пожалуйста как протестировать сервлет
|
|||
---|---|---|---|
#18+
забыл ник, авторДа очевидно же что accountDAo в этом случае не замоканный и реальный и лезет в БД, там изза отсутствия коннекшена валится. Чем не подходит вариант создания фейкового дао? не могли бы вы его написать. я попробую может и подходит у меня же есть FactoryDAO factoryDAO = mock(FactoryDAO.class); но что с ним дальше делать я не знаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 20:41 |
|
Подскажите пожалуйста как протестировать сервлет
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Samantata, Надо снаружи тестировать. Создать клиент http и вызвать POST с разными параметрами. а можно пример кода, пожалуйста. это может быть то что мне нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 20:42 |
|
Подскажите пожалуйста как протестировать сервлет
|
|||
---|---|---|---|
#18+
Samantata PetroNotC Sharp Samantata, Надо снаружи тестировать. Создать клиент http и вызвать POST с разными параметрами. а можно пример кода, пожалуйста. это может быть то что мне нужно. OkHttpClient client = new OkHttpClient(); ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2020, 07:34 |
|
Подскажите пожалуйста как протестировать сервлет
|
|||
---|---|---|---|
#18+
Samantata, Так не сработает: Код: java 1.
Вот так как-то: Код: java 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2020, 09:41 |
|
Подскажите пожалуйста как протестировать сервлет
|
|||
---|---|---|---|
#18+
Еще лучше использовать https://www.javadoc.io/doc/org.mockito/mockito-core/2.2.28/org/mockito/junit/MockitoJUnitRunner.html (версию последнюю возьмите, конечно :) Где это возможно. Меньше кода. Но не забывайте делать Mockito.reset(..) для каждого мока в методе помеченным @Before ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2020, 09:44 |
|
Подскажите пожалуйста как протестировать сервлет
|
|||
---|---|---|---|
#18+
Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2020, 09:59 |
|
Подскажите пожалуйста как протестировать сервлет
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2020, 18:24 |
|
Подскажите пожалуйста как протестировать сервлет
|
|||
---|---|---|---|
#18+
Zzz79 PetroNotC Sharp она шо хочет то дао слой оттестить? если дао то это эмбдед бд с тест профилем-дел на 5 минут - потом хоть обтестируйся+ масштабируемость 10 раз повторяла мантру. Хочет обложить СЕРВЛЕТ. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2020, 18:42 |
|
Подскажите пожалуйста как протестировать сервлет
|
|||
---|---|---|---|
#18+
Zzz79, Я вспомнил. Тебе сервлеты писать не приходилось) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2020, 18:43 |
|
Подскажите пожалуйста как протестировать сервлет
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Хочет обложить СЕРВЛЕТ. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2020, 18:45 |
|
Подскажите пожалуйста как протестировать сервлет
|
|||
---|---|---|---|
#18+
Zzz79, У тебя было spring MVC Это не сервлеты с request.getParameter( ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2020, 19:03 |
|
Подскажите пожалуйста как протестировать сервлет
|
|||
---|---|---|---|
#18+
Zzz79, Зачем сто раз говорить. Даешь ссылку на request.getParameter( в своей теме. Как раз увидишь, что искать что либо в бардачной теме 30 страниц то еще удовольствие. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2020, 18:40 |
|
Подскажите пожалуйста как протестировать сервлет
|
|||
---|---|---|---|
#18+
Zzz79 PetroNotC Sharp Zzz79, Зачем сто раз говорить. Даешь ссылку на request.getParameter( в своей теме. Как раз увидишь, что искать что либо в бардачной теме 30 страниц то еще удовольствие. научись пользоваться поиском ,без труда найдешь ссылку на первый проект ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2020, 21:49 |
|
|
start [/forum/topic.php?fid=59&msg=39943798&tid=2120841]: |
0ms |
get settings: |
7ms |
get forum list: |
6ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
74ms |
get topic data: |
3ms |
get forum data: |
1ms |
get page messages: |
808ms |
get tp. blocked users: |
0ms |
others: | 314ms |
total: | 1215ms |
0 / 0 |