ТЕСТИРОВАНИЕ НА JAVA (JUNIT, MOCKITO)

  Рет қаралды 29,421

Джавист

Джавист

Жыл бұрын

Привет. За 9 минут вы узнаете, как писать unit тесты с помощью библиотек junit и mockito.
Код из видео:
github.com/dispikerton/testir...

Пікірлер: 72
@moscowkremlingovernment
@moscowkremlingovernment Жыл бұрын
Бро, нереальный респект и огромное человеческое спасибо! Надеюсь ты будешь развивать эту тему, по тестированию на Java в русскоязычном сегменте очень мало видосов
@sergeysirmays6010
@sergeysirmays6010 5 ай бұрын
Самый короткий и понятный мануал! Я до этого часа 4 просмотрел всего и не мог до конца понять. Спасибо!
@user-qf9um5qb9d
@user-qf9um5qb9d Жыл бұрын
Кратко, емко, отличная подача материала. Дикция, голос - супер. Классные уроки. С нетерпение жду новых видео!
@user-lh9vc1kb6q
@user-lh9vc1kb6q 4 ай бұрын
Огромная вам благодарность за то что так доходчиво обьясняете!
@mitruslatovous6
@mitruslatovous6 Жыл бұрын
Понятное изложение. Спасибо за рассказ! Ждем продолжения )
@user-ow5ey6tp5u
@user-ow5ey6tp5u Жыл бұрын
Молодец. Емко, коротко. И про нейминг тест класов не забыл!!! Многие это упускают.
@user-qi8jz7rh6f
@user-qi8jz7rh6f 11 ай бұрын
Отличное видео. Для меня, новичка в тестах теперь понятно хотя бы как начать писать простые контроллер тесты, а там уж с практикой можно разобраться с остальным.
@dmitrelkin9256
@dmitrelkin9256 Жыл бұрын
Спасибо! очень в тему! Хорошее изложение, без воды, то что нужно! Очень хочется продолжения с тестированием REST`а с MockMvc и RestAssuredMockMvc и тестированием REST`а с поднятым секьюрити ))
@AP-jq2lv
@AP-jq2lv Ай бұрын
спасибо, отличное видео. Без воды, на адекватных, понятных любому, примерах 🤘🏻
@Dmitriy95
@Dmitriy95 11 ай бұрын
перерыл кучу сайтов в поисках объяснения JUnit, везде куча воды и непонятных встулений. Тут все четко, кратко и по делу, спасибо чувак, пойду к тебе на канал, уверен там куча видео в таком стиле)
@user-nj5sc4ht8f
@user-nj5sc4ht8f 8 ай бұрын
НЕВЕРОЯТНО понятное объяснение, респект!!
@alalon8045
@alalon8045 Жыл бұрын
Подача замечательная, благодарю! Вы лучший! Буду смотреть ваши уроки, спасибо большое!!!
@timgapps9878
@timgapps9878 10 ай бұрын
Очень хорошо объясняешь, спасибо за хороший и понятный урок. Продолжай пожалуйста выпускать видео по программированию на Java. Успехов тебе!
@user-rc3wf6ro2x
@user-rc3wf6ro2x Жыл бұрын
Единственное видео, после которого действительное пришло понимание основ тестирования на Java. Спасибо!
@olegtotsamiy6588
@olegtotsamiy6588 Жыл бұрын
Спасибо за видео! Ждём видео по тестированию репы)
@user-tc7es2iw6o
@user-tc7es2iw6o Жыл бұрын
Прекрасное объяснение, человек явно понимает о чём говорит, спасибо
@user-iu6yz6ck6h
@user-iu6yz6ck6h Жыл бұрын
С возвращением )) Спасибо за виде
@alexandr6055
@alexandr6055 10 ай бұрын
Офигенный блогер. Одна претензия есть - почему так часто пропадаешь? Реально пили больше видео, может лайфкоддинг? Реально крутая подача, сжато и информативно
@javistt
@javistt 10 ай бұрын
Благодарю. Пропадаю, потому что на производство видео уходит много времени и не всегда получается его выделить.
@raccoon8230
@raccoon8230 Жыл бұрын
Огромное спасибо! Ждем продолжения по тестированию и @Transactional
@RomanKoshetov
@RomanKoshetov 27 күн бұрын
Очень классные объяснения, красавчик мужик)
@sorry4206
@sorry4206 11 ай бұрын
Где же ты был раньше; это просто прекрасно
@user-gh8bw8pe4l
@user-gh8bw8pe4l 9 ай бұрын
Вот прям по круто обьяснил, без ненужных сравнений, БРАВООО!
@asadbekquronboyev128
@asadbekquronboyev128 Жыл бұрын
Спасибо за урок)), жду следуещий, на контроллера и репозитории!
@user-vk2fv9ub8i
@user-vk2fv9ub8i 9 ай бұрын
Емко и по делу и главное прям то, что я искал)
@Devivl
@Devivl Жыл бұрын
Ух ты, вот это открытие. Джавист, в твоей команде подписчиков пополнение. Уверен, с такой подачей количество подписчиков будет не 3.78, а 378 тыс.
@AdventureDeveloper
@AdventureDeveloper 4 ай бұрын
Очень классная подача материала, спасибо!
@user-ko3vx6rh6t
@user-ko3vx6rh6t Жыл бұрын
Круто! Давно ждал твои видео, сними пожалуйста что нибудь про spock framework
@vint_razboltaylo
@vint_razboltaylo Жыл бұрын
Ура, новый видос! Спасибо за видео!
@cssrestore5020
@cssrestore5020 10 күн бұрын
Божественное видео! Спасибо
@selftishz3151
@selftishz3151 4 ай бұрын
Отличная подача: речь - супер топ
@intersteler8767
@intersteler8767 Жыл бұрын
спасибо за видео! жду видео про тестирование репозиториев и контроллеров
@maniak63
@maniak63 8 ай бұрын
отличный материал, спасибо!)
@ivanstrelka3448
@ivanstrelka3448 Жыл бұрын
оч круто!! ждем еще спасибо
@obusis
@obusis 7 ай бұрын
Спасибо большое! Очень ясно и доходчиво! Подписался
@user-cf2jo7vo8p
@user-cf2jo7vo8p Жыл бұрын
Хороший видос, спасибо😊
@bl_dorama
@bl_dorama 8 ай бұрын
Очень жду видео, тестирование Controller и Repository)
@aleisder9788
@aleisder9788 Жыл бұрын
Огромное спасибо, как всегда всё коротко, чётко, и по полочкам. Обожаю твои видео! Сними пожалуйста ролик по Spring Security
@user-dz7oq1ex5d
@user-dz7oq1ex5d Жыл бұрын
Снимай пожалуйста больше!!!!
@JanSobolewski1987
@JanSobolewski1987 6 ай бұрын
Коротко и ясно рассказал. Like
@kirilldolgopolov3695
@kirilldolgopolov3695 6 ай бұрын
Отоичное видео, спасибо!
@mustFLEXboi
@mustFLEXboi 9 ай бұрын
Это видео спасло мой дедлайн
@gingerCatStore
@gingerCatStore 9 ай бұрын
подписка однозначно!
@user-wq7ky1rn2j
@user-wq7ky1rn2j 11 ай бұрын
Лучший!
@hybi666
@hybi666 7 ай бұрын
Спасибо
@whitelight8811
@whitelight8811 11 ай бұрын
Приятный голос
@nik_volev
@nik_volev 2 күн бұрын
Спасибо большое за такое понятное объяснение! Насколько я понял, создание класса для исключения TooLowSalaryException было опущено для краткости?
@nik_volev
@nik_volev 2 күн бұрын
Всё, увидел в исходном коде)
@FFl1s
@FFl1s 8 ай бұрын
Спсшки!!!
@kirilluroven8491
@kirilluroven8491 Жыл бұрын
Привет! спасибо за видео, полезно У меня вопрос, буду благодарен, если получу ответ Если например в сервисом слое используется маппер, типо мэпстракт, и нужно протестить сервис, нужно мотать и менять поведение этого маппера, или не макать его и добавить "оригинальный объект"
@javistt
@javistt Жыл бұрын
Привет, если логика маппинга не сложна и не включает вызовы к другим сервисам или ресурсам, то мокать её не нужно. Мапперы обычно не имеют сторонних зависимостей, и их можно использовать напрямую в тестах. Тем более что маппинг - это часть логики, которую тоже нужно проверять.
@kirilluroven8491
@kirilluroven8491 Жыл бұрын
@@javistt супер, спасибо
@baimuhtar8186
@baimuhtar8186 6 ай бұрын
Здравствуйте, подскажите как сейчас проводят автотест на Java c Selenium для входа в аккаунт Google?
@javistt
@javistt 6 ай бұрын
Приветствую. chat.openai.com/share/24f890c2-dd12-4862-9a49-35cb0e6c2114
@baimuhtar8186
@baimuhtar8186 6 ай бұрын
@@javistt Но выходит ведь окно, что «этот браузер или приложение небезопасны». И дальше не получается пройти авторизацию.
@user-007-1
@user-007-1 Жыл бұрын
Давай про тестконтейнеры)
@EdwardNorthwind
@EdwardNorthwind 4 ай бұрын
Классно, что не остановился на калькуляторе. Хотя стоило больше внимания уделить, а зачем тестировать вроде бы очевидные и простые методы... А то именно по этой причине я и забиваю на тесты. Ну тут же всё очевидно, так зачем тратить на это время 🤬Тяжело избавится от этой привычки пока не начнешь работать в команде.
@EdwardNorthwind
@EdwardNorthwind 4 ай бұрын
После нашел следующие ролики про тестирование. Так что претензия снята. Так что, народ, если видели лишь данное видео, обязательно посмотрите и другие.
@dmitriyaverianov1843
@dmitriyaverianov1843 5 ай бұрын
ещё больше белого, чтобы сломать глаза
@wladimir1366
@wladimir1366 7 ай бұрын
Почему так мало лайков. Посчитайте мой за 5, пожалуйста
@themukha
@themukha 2 ай бұрын
Я уже больше 3 лет занимаюсь автоматизацией тестирования бэкенда и только узнал о методе asserThrows🤣 Мдэ, позор мне
@ruCK1E_xue5051
@ruCK1E_xue5051 10 ай бұрын
А другой раз когда настанет?
@javistt
@javistt 10 ай бұрын
Хороший вопрос
@MrNaumenco
@MrNaumenco Жыл бұрын
Только у меня с 5 мин видео замыливается?
@javistt
@javistt Жыл бұрын
Проверил, вроде всё в порядке.
@romabulava899
@romabulava899 7 ай бұрын
на 0,75 скорости голос такой гы
@John.Constantine.777
@John.Constantine.777 5 ай бұрын
теперь понял хоть что такое тесты и почему говорят про свалку мусора вместо тестов у многих разработчиков - двойная работа, которую делаешь хорошо - платят и делаешь на отвали - тоже так же платят. сдается мне реальные тесты пишут только для части кода, который обязательно нужно проверять во избежание крупных материальных потерь заказчика, а остальные либо не пишут либо пишут на отвали
@sovietunionmissionary
@sovietunionmissionary 3 ай бұрын
Главное не объявлять внутри сервиса финальным то, что будем потом внедрять туда как мок. По крайней мере у меня так, не работала аннотация InjectMocks пока не убрал final.
@wilsonikner1167
@wilsonikner1167 20 күн бұрын
Я один, наверное, тут тупой) У меня не получается тестировать без предварительной сборки проекта. Если же я предварительно его собираю, то есть появляется папка target, то тестирует , НО, при изменении класса Calculator необходимо снова пересобрать проект. Я так понимаю, у меня тестируется класс в папке target, почему? вроде бы сделал как на видео. Я меня нет Application класса только, но автор ничего о нем не говорит. я конечно могу открыть свои СпрингБутовские проекты, и там сделать , но мне интересно как тестировать в разных случаях, с разными фреймворками и конфигурациями. Итак, при запуске тестирования метода sum() Internal Error occurred. org.junit.platform.commons.JUnitException: TestEngine with ID 'junit-jupiter' failed to discover tests at org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.discoverEngineRoot(EngineDiscoveryOrchestrator.java:160) at org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.discoverSafely(EngineDiscoveryOrchestrator.java:132) at org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.discover(EngineDiscoveryOrchestrator.java:107) at org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.discover(EngineDiscoveryOrchestrator.java:78) at org.junit.platform.launcher.core.DefaultLauncher.discover(DefaultLauncher.java:99) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:85) at org.junit.platform.launcher.core.DelegatingLauncher.execute(DelegatingLauncher.java:47) at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:63) at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:57) at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) Caused by: org.junit.platform.commons.JUnitException: ClassSelector [className = 'com.Testing.utils.CalculatorTest', classLoader = null] resolution failed at org.junit.platform.launcher.listeners.discovery.AbortOnFailureLauncherDiscoveryListener.selectorProcessed(AbortOnFailureLauncherDiscoveryListener.java:39) at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.resolveCompletely(EngineDiscoveryRequestResolution.java:103) at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.run(EngineDiscoveryRequestResolution.java:83) at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolver.resolve(EngineDiscoveryRequestResolver.java:113) at org.junit.jupiter.engine.discovery.DiscoverySelectorResolver.resolveSelectors(DiscoverySelectorResolver.java:46) at org.junit.jupiter.engine.JupiterTestEngine.discover(JupiterTestEngine.java:69) at org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.discoverEngineRoot(EngineDiscoveryOrchestrator.java:152) ... 13 more Caused by: org.junit.platform.commons.PreconditionViolationException: Could not load class with name: com.Testing.utils.CalculatorTest at org.junit.platform.engine.discovery.ClassSelector.lambda$getJavaClass$0(ClassSelector.java:95) at org.junit.platform.commons.function.Try$Failure.getOrThrow(Try.java:335) at org.junit.platform.engine.discovery.ClassSelector.getJavaClass(ClassSelector.java:94) at org.junit.jupiter.engine.discovery.ClassSelectorResolver.resolve(ClassSelectorResolver.java:66) at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.lambda$resolve$2(EngineDiscoveryRequestResolution.java:135) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base/java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1685) at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129) at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:647) at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.resolve(EngineDiscoveryRequestResolution.java:189) at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.resolve(EngineDiscoveryRequestResolution.java:126) at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.resolveCompletely(EngineDiscoveryRequestResolution.java:92) ... 18 more Caused by: java.lang.ClassNotFoundException: com.Testing.utils.CalculatorTest at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:534) at java.base/java.lang.Class.forName(Class.java:513) at org.junit.platform.commons.util.ReflectionUtils.lambda$tryToLoadClass$9(ReflectionUtils.java:832) at org.junit.platform.commons.function.Try.lambda$call$0(Try.java:57) at org.junit.platform.commons.function.Try.of(Try.java:93) at org.junit.platform.commons.function.Try.call(Try.java:57) at org.junit.platform.commons.util.ReflectionUtils.tryToLoadClass(ReflectionUtils.java:795) at org.junit.platform.commons.util.ReflectionUtils.tryToLoadClass(ReflectionUtils.java:751) at org.junit.platform.engine.discovery.ClassSelector.getJavaClass(ClassSelector.java:92) ... 32 more Process finished with exit code -2
@wilsonikner1167
@wilsonikner1167 19 күн бұрын
Заработало. Честно говоря, не знаю, что именно вызывало это ошибку.поигрался с версиями java в настройках проекта и с maven archetype , все заработало. Что то было с плагинами в pom.xml, я так понимаю, не билдился проект при запуске тестирования, да и psvm() не билдился, билдился только через встроенные в Idea Maven плагины, и только после сборки "вручную" тестирование работало
ТЕСТИРОВАНИЕ КОНТРОЛЛЕРОВ SPRING НА JAVA
9:39
Что такое Unit-тесты?
9:58
Merion Academy
Рет қаралды 25 М.
🤔Какой Орган самый длинный ? #shorts
00:42
A teacher captured the cutest moment at the nursery #shorts
00:33
Fabiosa Stories
Рет қаралды 40 МЛН
Java Unit Testing with JUnit - Tutorial - How to Create And Use Unit Tests
21:35
Spring boot + PostgreSQL + Liquibase + Testcontainers
22:01
Sergey Labuzov
Рет қаралды 9 М.
Вкатываемся в тестирование кода
8:35
ExtremeCode
Рет қаралды 129 М.
Микросервисы Простыми Словами за 1 Час
48:56
ПАТТЕРН BUILDER (СТРОИТЕЛЬ) JAVA LOMBOK
13:37
Джавист
Рет қаралды 7 М.
Тестирование с помощью Mock-ов в Python #1
15:38
ИГРАЮ ЗА ОТЦА 😱 В SchoolBoy | SchoolBoy Runaway
19:56
ЛИГЛЕЙЧИК
Рет қаралды 1,3 МЛН