Software Testing with Spring boot and Mockito Framework

In this video, Alibou takes you on a journey to understand the significance of unit tests in software development. Discover the real-world scenarios where a single line of code can make or break your application. We'll unveil the secret weapon - Unit Testing - and explore how it empowers developers to build reliable, resilient software.
🚨 Why You Need a Safety Net for Your Code
Learn how unit tests act as a safety net around your code, catching potential issues before they reach production. Gain the confidence to make changes and improvements without the fear of causing chaos in your application. We'll guide you through practical examples, showcasing the real impact of robust testing practices.
🎟 Join this channel to get access to perks: / @boualiali
Recommended Courses:
🎬 Spring Boot security & JWT token: • Spring boot 3.0 - Secu...
🎬 Spring security - Roles and permissions: • Spring boot 3 & Spring...
🎬 Spring Boot - Microservices architecture: • Microservices tutorial...
🎬 DevOps - Github Actions CI/CD: • GitHub Actions CI/CD p...
🎬 Spring Security - KeyCloak integration: • Spring boot 3 Keycloak...
🎬 DevOps - Docker for Beginners: • Docker tutorial for be...
🎬 DevOps - AWS EC2 deployment: • 🚀 Deploy Spring boot a...
🎬 Angular - Full course from scratch: • Angular Tutorial For B...
🎬 Websocket - Chat application one to one: • WebSocket Tutorial wit...
🎬 Spring Security - Two Factors Authentication 2FA (TFA): • Two Factor Authenticat...
🎬 Spring Boot - Swagger UI & OpenApi Decomentation : • Spring boot 3 - OpenAp...
🎬 Spring Boot - Reactive programming & WebFlux: • Reactive Programming w...
🎬 Spring Data JPA & Hibernate: • Spring Data JPA - The ...
🎬 Apache Kafka tutorial: • Apache Kafka Tutorial ...
🎬 Spring batch tutorial: • Spring batch
CONNECT WITH ME:
👨‍💻. Website: aliboucoding.com
👨‍🏫 Facebook: / 589612651142975
📸 Instagram: / alibou_coding
🎮 GitHub: github.com/ali-bouali
🏘️ Discord: / discord
#SpringBoot #UnitTesting #Mockito #SoftwareDevelopment #Java #Coding

Пікірлер: 64

  • @TarunStk-bf5re
    @TarunStk-bf5re6 күн бұрын

    Hi Alibou, Your content is very good, much appreciated. It would've been even great if you've covered code coverage as well. Thanks

  • @kanehamath6162
    @kanehamath61624 ай бұрын

    Interessting and well understanding, big thanks

  • @poorpanda9033
    @poorpanda90335 ай бұрын

    Perfect Upload. I was just learning about unit & integration testing & you've uploaded at the right time. Thanks a lot !

  • @BoualiAli

    @BoualiAli

    Ай бұрын

    Glad it was helpful!

  • @jnayehsirine6222
    @jnayehsirine62224 ай бұрын

    Always providing high quality Content , THANK YOU !!

  • @BoualiAli

    @BoualiAli

    Ай бұрын

    Glad you think so!

  • @hieunguyen0801
    @hieunguyen08015 ай бұрын

    Can you make a video about using Redis in Spring Boot and PostgreSQL?

  • @BoualiAli

    @BoualiAli

    Ай бұрын

    soon

  • @marcincylkowski3004
    @marcincylkowski30045 ай бұрын

    Thank you for this video. Please continue topic of testing.

  • @BoualiAli

    @BoualiAli

    Ай бұрын

    sure

  • @youbabagayogo3052
    @youbabagayogo30525 ай бұрын

    You changed my life of spring developper and i'm ready to buy on your plateforme a complete course of how to deploy spring boot project on aws (AWS Amplify, AWS S3, AWS RDS, AWS EC2). It will be a pleasure to follow such course. Thanks for everything

  • @BoualiAli

    @BoualiAli

    Ай бұрын

    now, all my content is and will be for free. No one should pay to learn You are welcome to contribute if you want to

  • @wasamr4703
    @wasamr47035 ай бұрын

    Thank you man, this video is really helpful

  • @BoualiAli

    @BoualiAli

    Ай бұрын

    Glad you liked it!

  • @maleeshasandakalum6213
    @maleeshasandakalum62134 ай бұрын

    Thank you very much. Really appreciate your for your effert ❤❤❤❤

  • @BoualiAli

    @BoualiAli

    Ай бұрын

    my pleasure

  • @fufufifi2349
    @fufufifi23495 ай бұрын

    بارك الله فيك و يرحم والديك ، جات الوقت المناسب

  • @BoualiAli

    @BoualiAli

    Ай бұрын

    baraka allahou fik

  • @odilhonislomov8954
    @odilhonislomov89544 ай бұрын

    Thanks. Great explanation as usual

  • @BoualiAli

    @BoualiAli

    Ай бұрын

    My pleasure!

  • @farjallahhaythem5675
    @farjallahhaythem56755 ай бұрын

    best as always

  • @diagspring144
    @diagspring1445 ай бұрын

    Very nice boulai Ali thank you☺️☺️☺️🎁🙏🏾🙏🏾 for the video happy the new year

  • @BoualiAli

    @BoualiAli

    Ай бұрын

    Glad you liked it!

  • @yosefhagos4788
    @yosefhagos47885 ай бұрын

    Great Video!!! Could you provide us with the link to the repository? How to test controller classes ? How do you test the database connection and whether data is read and saved correctly?

  • @samahmahdi5511
    @samahmahdi55112 ай бұрын

    Thanks, it is excellent illustration

  • @BoualiAli

    @BoualiAli

    2 ай бұрын

    I'm glad you like it

  • @ivansanchez1988
    @ivansanchez1988Ай бұрын

    Do you have a complete course on testing, where we can get the initial code to learn along with you? I enrolled into your platform, the content is awesome, thanks for the effort.

  • @buntykumar5928
    @buntykumar5928Ай бұрын

    please make more videos on unit testing and mockito which used more complex code like service class depends on multiple different service class and use spring security for authorization and authentication and encryption decryption for request and response object. Your video is really helpful and thanks sir for sharing your great knowledge with us.

  • @BoualiAli

    @BoualiAli

    Ай бұрын

    noted

  • @melissapereira6957
    @melissapereira69572 ай бұрын

    can you do more videos about testing ? perhaps testing the controller layer ? i loved the lecture, you helped me a lot. 😊

  • @BoualiAli

    @BoualiAli

    2 ай бұрын

    Yes, soon

  • @khalildhamer2589
    @khalildhamer25895 ай бұрын

    Great content, keep going !!

  • @BoualiAli

    @BoualiAli

    Ай бұрын

    Glad you liked it!

  • @pranavmahajan4190
    @pranavmahajan41903 ай бұрын

    You are a fantastic teacher. Thanks a lot. Can you please cover integration testing of REST services ?

  • @BoualiAli

    @BoualiAli

    2 ай бұрын

    Yes, soon

  • @firas_hkimi
    @firas_hkimi5 ай бұрын

    After One month Sir ALi Bouali come Back 🥰

  • @roueroua140
    @roueroua1404 ай бұрын

    Awesome dude ❤🙏🙏🙏

  • @BoualiAli

    @BoualiAli

    Ай бұрын

    Glad you think so!

  • @Obrik
    @Obrik9 күн бұрын

    *Table of Contents* (By the way, a "mock" is an empty version of an object, and a "stub" is a mock with some functionality added back in.) 00:00 Testing is important, here's why 06:05 What is Spring Test? (tl;dw it's a testing library for Java). 8:49 How the example program is organized (tl;dw StudentMapper has a Student object with student info, and has a StudentResponseDto object (Dto stands for Data transfer object). StudentService has a StudentRepository object and a StudentMapper object.) 10:59 Making a test class for StudentMapper 14:58 Test Class exists, first (Hello World) test function ``` @Test public void testMethod1(){ System.out.println(“My first test method”); } ``` 16:50 The SetUp method, @BeforeEach 19:01 The TearDown method, @AfterEach 20:42 @BeforeAll (BeforeClass) method 22:30 @AfterAll (AfterClass) method 23:55 First actual test, and what the StudentMapper functions do 29:57 First test is done and runs 30:06 Causing the first test to fail 32:07 Practice Exercise - implement test for toStudentResponseDto method 32:50 Practice Exercise answer 34:44 Given, When, Then, test structure 35:39 Third test: studentDto to student if null. 38:15 Fixing the source code to handle null. Adjusting test to expect exception, and getting the exception message (assertThrows(exceptionType, () -> { code });) 42:31 Explanation of StudentService and database, test isolation with mocking (Mockito) 45:01 Creating new test class for StudentService 46:30 First and second @Mock 47:33 @InjectMocks 48:22 Opening/starting the mocks (MockitoAnnotations.openMocks(this);) 49:21 First test method for StudentService, saving a student 52:48 Why the result is null/failing. Mocking functions for test isolation’s sake. when().thenReturn() 57:31 Test with mocks (and stubs) is ready and runs 59:06 Making sure the methods were only called once, using Mockito.verify() 1:02:20 Practice Exercise - test findAllStudent() method, using mocks (and stubs) as needed 1:02:53 Practice Exercise answer (including using mockito any() method) 1:06:33 Practice Exercise - test findStudentById() method 1:06:52 Practice Exercise answer (including Optional.of()) 1:10:07 Bouali Ali is proud of you 1:10:13 Practice Exercise - test findStudentsByName() 1:10:45 Practice Exercise answer

  • @raghusama4273
    @raghusama42732 күн бұрын

    Do we have the video of development / Implementation of that Student project ?

  • @k.ousmanediallo4134
    @k.ousmanediallo41345 ай бұрын

    This is a great video explaining the basic concept for ut. please can you provide the code source for all app not including for test part

  • @BoualiAli

    @BoualiAli

    Ай бұрын

    there is no app for that. just showcase services

  • @aziztolearn
    @aziztolearn5 ай бұрын

    Could you do a video about how to be in testing with jwt-security ? how to add jwts or fake jwts when testing and how to test login or auth methods, endpoints?

  • @BoualiAli

    @BoualiAli

    Ай бұрын

    good idea

  • @rohanreddy2067

    @rohanreddy2067

    Ай бұрын

    Waiting for it

  • @georgepro8481
    @georgepro84815 ай бұрын

    I think that the repository level must be tested first of all. It doesn't need to test basic CRUD operations of a repository. But we have a lot of fun besides. For insance, test the fact that repository realy gives an id for a new entity. Does the audit feature (createdAt, modifiedAt) realy work? Does it throw correct exceptions? Does your SQL query correspond to your expectations? How to mock DB (embedded, docker) ...

  • @BoualiAli

    @BoualiAli

    5 ай бұрын

    This is the integration tests level. I will cover it soon

  • @cdinglevel8626
    @cdinglevel862617 күн бұрын

    Sir codesource please is not in the description

  • @ankitagarwal969
    @ankitagarwal9694 ай бұрын

    I had the same query asked below. Want to know the spring boot version used here.

  • @BoualiAli

    @BoualiAli

    Ай бұрын

    spring 3

  • @malithabannahake
    @malithabannahake5 ай бұрын

    can you tell me which repo, you used for the testing, can you provide the link?

  • @BoualiAli

    @BoualiAli

    Ай бұрын

    I dont have a repo for it

  • @CodingBeTounsi
    @CodingBeTounsi5 ай бұрын

    saha aloulou

  • @BoualiAli

    @BoualiAli

    Ай бұрын

    you're the best

  • @user-yt5co6qq8w
    @user-yt5co6qq8w5 ай бұрын

    hi Ali, can i get the source code link?

  • @odilhonislomov8954
    @odilhonislomov89542 ай бұрын

    Can you make a video about Integration testing?

  • @BoualiAli

    @BoualiAli

    2 ай бұрын

    soon

  • @DJCava3000
    @DJCava3000Ай бұрын

    where can I find the code for this video?

  • @BoualiAli

    @BoualiAli

    Ай бұрын

    in the description

  • @javasystems5850
    @javasystems58505 ай бұрын

    Can you make videos on DevOps

  • @BoualiAli

    @BoualiAli

    Ай бұрын

    which part of it?

  • @jasper5016
    @jasper50163 ай бұрын

    Thanks a lot. Can you please share source code?

  • @BoualiAli

    @BoualiAli

    2 ай бұрын

    In the description

  • @MonsterBebesi-cd7ot
    @MonsterBebesi-cd7ot3 ай бұрын

    githup ?? this video resoruce