Testing Spring Boot: Beginner to Guru

Become an Expert Testing Java and Spring Boot Applications using JUnit 5, Mockito, Spring Boot, and More!

4.60 (3150 reviews)
Udemy
platform
English
language
Software Testing
category
Testing Spring Boot: Beginner to Guru
26,553
students
21 hours
content
Nov 2023
last update
$94.99
regular price

What you will learn

Learn Important Concepts behind Test Driven Development

Understand different types of testing - Unit, Integration, Functional

Master the JUnit 5 Testing API

Easily integrate Mockito with JUnit 5 Tests

Migrate JUnit 4 tests to JUnit 5

Test Spring Framework Applications with JUnit 5 and Mockito

Write Unit Tests with Spring MVC Test

Learn to use testing features of Spring Boot

Why take this course?

In modern software development having proper automated test coverage is considered a best practice. In this course you will learn how to test Java and Spring Boot applications using highly popular open source tools.

You will see in the first section of this course, the software testing ecosystem is very diverse. JUnit and Mockito are two of the leading testing libraries for Java. JUnit provides the test execution context, while Mockito give you power mocking capabilities. Together these libraries can be used to write unit tests, integration tests, and functional tests. You will also learn why having proper test coverage is critical to supporting other popular agile practices such as Continuous Integration and Continuous Deployment (aka CI/CD).

Agile teams all over the world consider Test Driven Development (TDD) a critical technique for producing quality software. This course begins by using JUnit 5 to demonstrate how to use TDD to create a simple Java application, then again using TDD to evolve the application to a higher level of quality and functionality.

Next, the course takes you into a deep dive of the features and functionality of JUnit 5. You will learn how to write JUnit 5 unit tests for a Java web application.

The primary focus of this course is on the JUnit 5 release. There are some very notable differences between JUnit 4 and JUnit 5. This course contains a dedicated section showing you how to migrate your JUnit 4 tests to JUnit 5.

As your testing needs become more complex, you will need to mock dependent objects.

Not sure what a mock is? It's effectively a test double. An object created for unit testing.

Mockito is the most popular mocking library used by Java developers.

If you are writing Spring Framework applications, you're likely to be injecting dependent objects into your classes. You will learn how to use the robust mocking capabilities of Mockito to mock dependent objects in your unit tests.

The first 11 sections of the course focus heavily on unit testing with JUnit 5 and Mockito. This is to help you establish a strong unit testing foundation before we start testing Spring Boot applications.

You will have no doubts when it comes to testing Java classes using JUnit 5 and Mockito.

The Spring Framework itself has some very robust testing capabilities.

We start learning to test the Spring Framework by adding the Spring Framework Testing context to our tests.

This allows us to leverage the Spring Framework's Dependency Injection capabilities right in our tests.

Properly testing Spring MVC controllers can always be a little tricky. You need to test all the things you are expecting the Spring Framework to handle for you around calls to your controllers.

This is where Spring MVC Test steps in. You will see how you can use Spring MVC Test with JUnit 5 and Mockito to properly test your Spring MVC Controllers.

The course continues showing you how to use Spring Boot test splices to bring up a minimal Spring Boot configuration for the testing of a Spring MVC RESTful controller.

Another powerful Spring project is Spring MVC REST Docs. This is a project which allows you to generate API documentation from your Spring Mock MVC tests.

Inside this course you will learn:

  • JUnit 5

  • AssertJ

  • Hamcrest Matchers

  • Mockito 2

  • Test Driven Development (TDD)

  • Behavior Driven Development (BDD) with Mockito

  • Migrating to JUnit 5 from JUnit 4

  • Running JUnit 5 tests from Maven

  • Running JUnit 5 tests from Gradle

  • Use CircleCI with Maven for Continuous Integration Testing

  • Spring MVC Test

  • JsonPath

  • Wiremock

  • Spring MVC REST Docs

Course Extra - IntelliJ IDEA Ultimate

Students enrolling in the course can receive a free 120 day trial license to IntelliJ IDEA Ultimate! Get hands on experience using the Java IDE preferred by Spring Framework professionals! 

Course Extra - Access to a Private Slack Community

You're not just enrolling in a course --> You are joining a community learning about testing Spring.

With your enrollment to the course, you can access an exclusive Slack community. Get help from the instructor and other Spring Framework Gurus from around the world - in real time! This community is only available to students enrolled in this course. 

This is a very active Slack community with over 1,000 Spring Framework Gurus!

This is the largest online community of people learning Spring in the world.

With your enrollment, you can join this community of awesome gurus!

Source Code Access

All course source code is available in GitHub. When you enroll, refer to the lesson resources for links to GitHub.

Closed Captioning / Subtitles

Closed captioning in English is available for all course videos!

PDF Downloads

All keynote presentations are available for you to download as PDFs.

Lifetime Access

When you purchase this course, you will receive lifetime access! You can login anytime from anywhere to access the course content.

No Risk - Money Back Guarantee 

You can buy this course with no risk. If you are unhappy with the course, for any reason, you can get a complete refund. The course has a 30 day Money Back Guarantee.

Enroll today and start learning about the latest tools and best practices for testing your Spring Boot applications! 

Our review

📚 **Course Overview:** The course in question covers a comprehensive range of testing topics within the Spring Boot ecosystem, including unit testing, controller layer testing, and possibly more advanced testing concepts. The material provided is extensive, encompassing various testing libraries and frameworks, and offering practical assignments to reinforce learning. The instructor, John Thompson, is commended for his step-by-step approach and for providing a journey from novice to expert in testing within the Spring Boot environment. **Pros:** - **Extensive Coverage:** The course covers a wide array of testing topics, offering a deep dive into unit testing, controller layer testing, and potentially other advanced testing concepts. - **Practical Learning:** Practical assignments are included to solidify the concepts taught, allowing learners to apply what they've learned in real-world scenarios. - **Clear Progression:** John Thompson's teaching style is praised for its step-by-step approach, which helps students gradually understand complex topics. - **Real-World Application:** The course content is practical and directly applicable in the workplace, according to several reviews. - **Instructor Expertise:** Mr. Thompson is highly regarded for his expertise and teaching style, making the learning experience both rewarding and enriching. **Cons:** - **Abstraction and Confusion:** Some students found the level of abstraction and the way classes were approached to be confusing, with a desire for more direct explanations and practical examples. - **Configuration Over Testing:** A significant portion of the course is dedicated to configuration, which some students felt detracted from the testing aspect of the course. - **Technical Issues:** A few mentions about video quality, such as font size in IntelliJ editor, and the occasional capture at 1080p resolution were noted. - **Repetition and Mistakes:** Some students felt that John Thompson spent too much time on basic or unimportant things, made mistakes, and repeated the same concepts across different contexts. - **Documentation Preference:** A few reviews suggested a preference for more real-life examples and a request to wrap everything together with best practices for testing, beyond just library features. **General Feedback:** - The course is highly informative and receives positive feedback for its comprehensive content on testing within the Spring Boot framework. - Students appreciate Mr. Thompson's teaching style and the practical exposure provided by the course. - Some technical aspects of video production could be improved for a better learning experience. - The course structure and pacing could be simplified to avoid confusion and ensure that the focus remains on testing principles. **Recommendations:** - Consider integrating more real-life examples and advanced testing concepts like integration tests. - Ensure that the font size in video recordings is legible, possibly using higher settings for clarity. - Review and simplify the course structure to enhance understanding and minimize confusion. - Provide additional explanations when presenting code, to make it clearer what is being done at each step. - Consider adding requested features such as HtmlUnit for HTML tests with Thymeleaf and repository testing with `@Sql`. **Final Verdict:** Overall, this course is a valuable resource for anyone looking to deepen their understanding of testing within the Spring Boot ecosystem. With its extensive coverage and practical assignments, it equips learners with both knowledge and application skills. While there are areas that could be improved, such as technical aspects and course structure, the course remains a highly recommended learning path for aspiring developers and testers in the Java and Spring Boot domain.

Charts

Price

Testing Spring Boot: Beginner to Guru - Price chart

Rating

Testing Spring Boot: Beginner to Guru - Ratings chart

Enrollment distribution

Testing Spring Boot: Beginner to Guru - Distribution chart
1935322
udemy ID
9/27/2018
course created date
8/22/2019
course indexed date
Bot
course submited by