Software Testing with Spring boot and Mockito Framework

แชร์
ฝัง
  • เผยแพร่เมื่อ 1 ม.ค. 2024
  • Buy me a coffee: ko-fi.com/boualiali 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

ความคิดเห็น • 66

  • @poorpanda9033
    @poorpanda9033 6 หลายเดือนก่อน +5

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

    • @BoualiAli
      @BoualiAli  2 หลายเดือนก่อน

      Glad it was helpful!

  • @hieunguyen0801
    @hieunguyen0801 6 หลายเดือนก่อน +14

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

    • @BoualiAli
      @BoualiAli  2 หลายเดือนก่อน +1

      soon

  • @jnayehsirine6222
    @jnayehsirine6222 5 หลายเดือนก่อน

    Always providing high quality Content , THANK YOU !!

    • @BoualiAli
      @BoualiAli  2 หลายเดือนก่อน

      Glad you think so!

  • @youbabagayogo3052
    @youbabagayogo3052 6 หลายเดือนก่อน +4

    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  2 หลายเดือนก่อน +2

      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

  • @kanehamath6162
    @kanehamath6162 4 หลายเดือนก่อน +1

    Interessting and well understanding, big thanks

  • @marcincylkowski3004
    @marcincylkowski3004 6 หลายเดือนก่อน

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

    • @BoualiAli
      @BoualiAli  2 หลายเดือนก่อน

      sure

  • @fufufifi2349
    @fufufifi2349 6 หลายเดือนก่อน

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

    • @BoualiAli
      @BoualiAli  2 หลายเดือนก่อน

      baraka allahou fik

  • @Vinicius-xe8br
    @Vinicius-xe8br วันที่ผ่านมา

    you're amazing thanks !

  • @wasamr4703
    @wasamr4703 5 หลายเดือนก่อน

    Thank you man, this video is really helpful

    • @BoualiAli
      @BoualiAli  2 หลายเดือนก่อน

      Glad you liked it!

  • @TarunStk-bf5re
    @TarunStk-bf5re 21 วันที่ผ่านมา

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

  • @diagspring144
    @diagspring144 6 หลายเดือนก่อน

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

    • @BoualiAli
      @BoualiAli  2 หลายเดือนก่อน

      Glad you liked it!

  • @odilhonislomov8954
    @odilhonislomov8954 4 หลายเดือนก่อน

    Thanks. Great explanation as usual

    • @BoualiAli
      @BoualiAli  2 หลายเดือนก่อน

      My pleasure!

  • @maleeshasandakalum6213
    @maleeshasandakalum6213 5 หลายเดือนก่อน

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

    • @BoualiAli
      @BoualiAli  2 หลายเดือนก่อน

      my pleasure

  • @davidb.5486
    @davidb.5486 9 วันที่ผ่านมา

    Literally amazing tutorial, the only thing missing was testing the controller.

  • @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.

  • @melissapereira6957
    @melissapereira6957 3 หลายเดือนก่อน +2

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

    • @BoualiAli
      @BoualiAli  3 หลายเดือนก่อน

      Yes, soon

  • @yosefhagos4788
    @yosefhagos4788 5 หลายเดือนก่อน

    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?

  • @farjallahhaythem5675
    @farjallahhaythem5675 6 หลายเดือนก่อน +1

    best as always

  • @samahmahdi5511
    @samahmahdi5511 2 หลายเดือนก่อน

    Thanks, it is excellent illustration

    • @BoualiAli
      @BoualiAli  2 หลายเดือนก่อน

      I'm glad you like it

  • @khalildhamer2589
    @khalildhamer2589 6 หลายเดือนก่อน

    Great content, keep going !!

    • @BoualiAli
      @BoualiAli  2 หลายเดือนก่อน

      Glad you liked it!

  • @buntykumar5928
    @buntykumar5928 2 หลายเดือนก่อน

    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  2 หลายเดือนก่อน

      noted

  • @firas_hkimi
    @firas_hkimi 6 หลายเดือนก่อน

    After One month Sir ALi Bouali come Back 🥰

  • @pranavmahajan4190
    @pranavmahajan4190 4 หลายเดือนก่อน

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

    • @BoualiAli
      @BoualiAli  3 หลายเดือนก่อน

      Yes, soon

  • @roueroua140
    @roueroua140 5 หลายเดือนก่อน

    Awesome dude ❤🙏🙏🙏

    • @BoualiAli
      @BoualiAli  2 หลายเดือนก่อน

      Glad you think so!

  • @raghusama4273
    @raghusama4273 18 วันที่ผ่านมา

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

  • @Obrik
    @Obrik 24 วันที่ผ่านมา

    *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

  • @k.ousmanediallo4134
    @k.ousmanediallo4134 5 หลายเดือนก่อน

    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  2 หลายเดือนก่อน

      there is no app for that. just showcase services

  • @malithabannahake
    @malithabannahake 5 หลายเดือนก่อน

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

    • @BoualiAli
      @BoualiAli  2 หลายเดือนก่อน

      I dont have a repo for it

  • @cdinglevel8626
    @cdinglevel8626 หลายเดือนก่อน

    Sir codesource please is not in the description

  • @ankitagarwal969
    @ankitagarwal969 5 หลายเดือนก่อน

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

    • @BoualiAli
      @BoualiAli  2 หลายเดือนก่อน

      spring 3

  • @aziztolearn
    @aziztolearn 6 หลายเดือนก่อน +1

    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  2 หลายเดือนก่อน +1

      good idea

    • @rohanreddy2067
      @rohanreddy2067 หลายเดือนก่อน

      Waiting for it

  • @georgepro8481
    @georgepro8481 6 หลายเดือนก่อน

    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  6 หลายเดือนก่อน +1

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

  • @CodingBeTounsi
    @CodingBeTounsi 6 หลายเดือนก่อน

    saha aloulou

    • @BoualiAli
      @BoualiAli  2 หลายเดือนก่อน

      you're the best

  • @user-yt5co6qq8w
    @user-yt5co6qq8w 6 หลายเดือนก่อน

    hi Ali, can i get the source code link?

  • @odilhonislomov8954
    @odilhonislomov8954 3 หลายเดือนก่อน

    Can you make a video about Integration testing?

    • @BoualiAli
      @BoualiAli  2 หลายเดือนก่อน +1

      soon

  • @DJCava3000
    @DJCava3000 2 หลายเดือนก่อน

    where can I find the code for this video?

    • @BoualiAli
      @BoualiAli  2 หลายเดือนก่อน +1

      in the description

  • @javasystems5850
    @javasystems5850 6 หลายเดือนก่อน

    Can you make videos on DevOps

    • @BoualiAli
      @BoualiAli  2 หลายเดือนก่อน

      which part of it?

  • @jasper5016
    @jasper5016 4 หลายเดือนก่อน

    Thanks a lot. Can you please share source code?

    • @BoualiAli
      @BoualiAli  3 หลายเดือนก่อน

      In the description

  • @MonsterBebesi-cd7ot
    @MonsterBebesi-cd7ot 4 หลายเดือนก่อน

    githup ?? this video resoruce