Бро, нереальный респект и огромное человеческое спасибо! Надеюсь ты будешь развивать эту тему, по тестированию на Java в русскоязычном сегменте очень мало видосов
@sergeysirmays60109 ай бұрын
Самый короткий и понятный мануал! Я до этого часа 4 просмотрел всего и не мог до конца понять. Спасибо!
@ЕвгенийБелых-к9э Жыл бұрын
Кратко, емко, отличная подача материала. Дикция, голос - супер. Классные уроки. С нетерпение жду новых видео!
@РоманГалкин-г8у8 ай бұрын
Огромная вам благодарность за то что так доходчиво обьясняете!
@bgrfnhfc5861Ай бұрын
Посмотрел 10 видео с курса дмдева, моки вообще не понял, посмотрел твоё видео на 9 мин - всё стало понятно, спасибо ❤
@АлексейОпарин-з5в Жыл бұрын
Отличное видео. Для меня, новичка в тестах теперь понятно хотя бы как начать писать простые контроллер тесты, а там уж с практикой можно разобраться с остальным.
@dmitrelkin9256 Жыл бұрын
Спасибо! очень в тему! Хорошее изложение, без воды, то что нужно! Очень хочется продолжения с тестированием REST`а с MockMvc и RestAssuredMockMvc и тестированием REST`а с поднятым секьюрити ))
@Dmitriy95 Жыл бұрын
перерыл кучу сайтов в поисках объяснения JUnit, везде куча воды и непонятных встулений. Тут все четко, кратко и по делу, спасибо чувак, пойду к тебе на канал, уверен там куча видео в таком стиле)
@АндрейЗахаров-м2л Жыл бұрын
Молодец. Емко, коротко. И про нейминг тест класов не забыл!!! Многие это упускают.
@VasyaM-b1g Жыл бұрын
Единственное видео, после которого действительное пришло понимание основ тестирования на Java. Спасибо!
@alexandr6055 Жыл бұрын
Офигенный блогер. Одна претензия есть - почему так часто пропадаешь? Реально пили больше видео, может лайфкоддинг? Реально крутая подача, сжато и информативно
@javistt Жыл бұрын
Благодарю. Пропадаю, потому что на производство видео уходит много времени и не всегда получается его выделить.
@mitruslatovous6 Жыл бұрын
Понятное изложение. Спасибо за рассказ! Ждем продолжения )
@alalon8045 Жыл бұрын
Подача замечательная, благодарю! Вы лучший! Буду смотреть ваши уроки, спасибо большое!!!
@spb4252 Жыл бұрын
Где же ты был раньше; это просто прекрасно
@ДимаКузнецов-ю2ю Жыл бұрын
НЕВЕРОЯТНО понятное объяснение, респект!!
@timgapps9878 Жыл бұрын
Очень хорошо объясняешь, спасибо за хороший и понятный урок. Продолжай пожалуйста выпускать видео по программированию на Java. Успехов тебе!
@raccoon8230 Жыл бұрын
Огромное спасибо! Ждем продолжения по тестированию и @Transactional
@AP-jq2lv5 ай бұрын
спасибо, отличное видео. Без воды, на адекватных, понятных любому, примерах 🤘🏻
@olegtotsamiy6588 Жыл бұрын
Спасибо за видео! Ждём видео по тестированию репы)
@ЛеонидВеликанов Жыл бұрын
Прекрасное объяснение, человек явно понимает о чём говорит, спасибо
@ВячеславПатраш-у5е Жыл бұрын
Вот прям по круто обьяснил, без ненужных сравнений, БРАВООО!
@АлександрБугримов-о1е Жыл бұрын
С возвращением )) Спасибо за виде
@Андрей-о2ю5о Жыл бұрын
Емко и по делу и главное прям то, что я искал)
@RomanKoshetov4 ай бұрын
Очень классные объяснения, красавчик мужик)
@asadbekquronboyev128 Жыл бұрын
Спасибо за урок)), жду следуещий, на контроллера и репозитории!
@Devivl Жыл бұрын
Ух ты, вот это открытие. Джавист, в твоей команде подписчиков пополнение. Уверен, с такой подачей количество подписчиков будет не 3.78, а 378 тыс.
@AlpineDevCode8 ай бұрын
Очень классная подача материала, спасибо!
@vint_razboltaylo Жыл бұрын
Ура, новый видос! Спасибо за видео!
@aleisder9788 Жыл бұрын
Огромное спасибо, как всегда всё коротко, чётко, и по полочкам. Обожаю твои видео! Сними пожалуйста ролик по Spring Security
@intersteler8767 Жыл бұрын
спасибо за видео! жду видео про тестирование репозиториев и контроллеров
@cssrestore50204 ай бұрын
Божественное видео! Спасибо
@ivanstrelka3448 Жыл бұрын
оч круто!! ждем еще спасибо
@obusis11 ай бұрын
Спасибо большое! Очень ясно и доходчиво! Подписался
@bl_dorama Жыл бұрын
Очень жду видео, тестирование Controller и Repository)
@selftishz31518 ай бұрын
Отличная подача: речь - супер топ
@АнарМусаев-б1л Жыл бұрын
Круто! Давно ждал твои видео, сними пожалуйста что нибудь про spock framework
@maniak63 Жыл бұрын
отличный материал, спасибо!)
@НикитаГоршков-ч2й Жыл бұрын
Снимай пожалуйста больше!!!!
@КоммунистНечеловек Жыл бұрын
Хороший видос, спасибо😊
@mustFLEXboi Жыл бұрын
Это видео спасло мой дедлайн
@kirilldolgopolov369510 ай бұрын
Отоичное видео, спасибо!
@JanSobolewski198710 ай бұрын
Коротко и ясно рассказал. Like
@gingerCatStore Жыл бұрын
подписка однозначно!
@nik_volev4 ай бұрын
Спасибо большое за такое понятное объяснение! Насколько я понял, создание класса для исключения TooLowSalaryException было опущено для краткости?
@nik_volev4 ай бұрын
Всё, увидел в исходном коде)
@m0naco6083 ай бұрын
Стоит ли каждый метод сервиса тестировать в отдельном классе или это излишество ? Просто хотелось бы структурировать тесты, типа каждый метод тестируется отдельно, а не в куче со всеми... Или так нельзя делать ?
@javistt3 ай бұрын
@@m0naco608 Начать можно с тест класса для всего класса, а не отдельного метода.
@АнтонЕлизаров-я5ц Жыл бұрын
Лучший!
@whitelight8811 Жыл бұрын
Приятный голос
@kirilluroven8491 Жыл бұрын
Привет! спасибо за видео, полезно У меня вопрос, буду благодарен, если получу ответ Если например в сервисом слое используется маппер, типо мэпстракт, и нужно протестить сервис, нужно мотать и менять поведение этого маппера, или не макать его и добавить "оригинальный объект"
@javistt Жыл бұрын
Привет, если логика маппинга не сложна и не включает вызовы к другим сервисам или ресурсам, то мокать её не нужно. Мапперы обычно не имеют сторонних зависимостей, и их можно использовать напрямую в тестах. Тем более что маппинг - это часть логики, которую тоже нужно проверять.
@kirilluroven8491 Жыл бұрын
@@javistt супер, спасибо
@baimuhtar818610 ай бұрын
Здравствуйте, подскажите как сейчас проводят автотест на Java c Selenium для входа в аккаунт Google?
@@javistt Но выходит ведь окно, что «этот браузер или приложение небезопасны». И дальше не получается пройти авторизацию.
@hybi66611 ай бұрын
Спасибо
@user-007-1 Жыл бұрын
Давай про тестконтейнеры)
@FFl1s Жыл бұрын
Спсшки!!!
@EdwardNorthwind8 ай бұрын
Классно, что не остановился на калькуляторе. Хотя стоило больше внимания уделить, а зачем тестировать вроде бы очевидные и простые методы... А то именно по этой причине я и забиваю на тесты. Ну тут же всё очевидно, так зачем тратить на это время 🤬Тяжело избавится от этой привычки пока не начнешь работать в команде.
@EdwardNorthwind8 ай бұрын
После нашел следующие ролики про тестирование. Так что претензия снята. Так что, народ, если видели лишь данное видео, обязательно посмотрите и другие.
@wladimir1366 Жыл бұрын
Почему так мало лайков. Посчитайте мой за 5, пожалуйста
@ruCK1E_xue5051 Жыл бұрын
А другой раз когда настанет?
@javistt Жыл бұрын
Хороший вопрос
@romabulava89911 ай бұрын
на 0,75 скорости голос такой гы
@themukha6 ай бұрын
Я уже больше 3 лет занимаюсь автоматизацией тестирования бэкенда и только узнал о методе asserThrows🤣 Мдэ, позор мне
@MrNaumenco Жыл бұрын
Только у меня с 5 мин видео замыливается?
@javistt Жыл бұрын
Проверил, вроде всё в порядке.
@dmitriyaverianov18439 ай бұрын
ещё больше белого, чтобы сломать глаза
@John.Constantine.7779 ай бұрын
теперь понял хоть что такое тесты и почему говорят про свалку мусора вместо тестов у многих разработчиков - двойная работа, которую делаешь хорошо - платят и делаешь на отвали - тоже так же платят. сдается мне реальные тесты пишут только для части кода, который обязательно нужно проверять во избежание крупных материальных потерь заказчика, а остальные либо не пишут либо пишут на отвали
@sovietunionmissionary8 ай бұрын
Главное не объявлять внутри сервиса финальным то, что будем потом внедрять туда как мок. По крайней мере у меня так, не работала аннотация InjectMocks пока не убрал final.
@wilsonikner11674 ай бұрын
Я один, наверное, тут тупой) У меня не получается тестировать без предварительной сборки проекта. Если же я предварительно его собираю, то есть появляется папка 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
@wilsonikner11674 ай бұрын
Заработало. Честно говоря, не знаю, что именно вызывало это ошибку.поигрался с версиями java в настройках проекта и с maven archetype , все заработало. Что то было с плагинами в pom.xml, я так понимаю, не билдился проект при запуске тестирования, да и psvm() не билдился, билдился только через встроенные в Idea Maven плагины, и только после сборки "вручную" тестирование работало