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
Hi Alibou, Your content is very good, much appreciated. It would've been even great if you've covered code coverage as well. Thanks
Interessting and well understanding, big thanks
Perfect Upload. I was just learning about unit & integration testing & you've uploaded at the right time. Thanks a lot !
@BoualiAli
Ай бұрын
Glad it was helpful!
Always providing high quality Content , THANK YOU !!
@BoualiAli
Ай бұрын
Glad you think so!
Can you make a video about using Redis in Spring Boot and PostgreSQL?
@BoualiAli
Ай бұрын
soon
Thank you for this video. Please continue topic of testing.
@BoualiAli
Ай бұрын
sure
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
Ай бұрын
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
Thank you man, this video is really helpful
@BoualiAli
Ай бұрын
Glad you liked it!
Thank you very much. Really appreciate your for your effert ❤❤❤❤
@BoualiAli
Ай бұрын
my pleasure
بارك الله فيك و يرحم والديك ، جات الوقت المناسب
@BoualiAli
Ай бұрын
baraka allahou fik
Thanks. Great explanation as usual
@BoualiAli
Ай бұрын
My pleasure!
best as always
Very nice boulai Ali thank you☺️☺️☺️🎁🙏🏾🙏🏾 for the video happy the new year
@BoualiAli
Ай бұрын
Glad you liked it!
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?
Thanks, it is excellent illustration
@BoualiAli
2 ай бұрын
I'm glad you like it
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.
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
Ай бұрын
noted
can you do more videos about testing ? perhaps testing the controller layer ? i loved the lecture, you helped me a lot. 😊
@BoualiAli
2 ай бұрын
Yes, soon
Great content, keep going !!
@BoualiAli
Ай бұрын
Glad you liked it!
You are a fantastic teacher. Thanks a lot. Can you please cover integration testing of REST services ?
@BoualiAli
2 ай бұрын
Yes, soon
After One month Sir ALi Bouali come Back 🥰
Awesome dude ❤🙏🙏🙏
@BoualiAli
Ай бұрын
Glad you think so!
*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
Do we have the video of development / Implementation of that Student project ?
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
Ай бұрын
there is no app for that. just showcase services
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
Ай бұрын
good idea
@rohanreddy2067
Ай бұрын
Waiting for it
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
5 ай бұрын
This is the integration tests level. I will cover it soon
Sir codesource please is not in the description
I had the same query asked below. Want to know the spring boot version used here.
@BoualiAli
Ай бұрын
spring 3
can you tell me which repo, you used for the testing, can you provide the link?
@BoualiAli
Ай бұрын
I dont have a repo for it
saha aloulou
@BoualiAli
Ай бұрын
you're the best
hi Ali, can i get the source code link?
Can you make a video about Integration testing?
@BoualiAli
2 ай бұрын
soon
where can I find the code for this video?
@BoualiAli
Ай бұрын
in the description
Can you make videos on DevOps
@BoualiAli
Ай бұрын
which part of it?
Thanks a lot. Can you please share source code?
@BoualiAli
2 ай бұрын
In the description
githup ?? this video resoruce