Building Spring Boot Restful API using Test Driven Development with CI/CD
This course is designed for software developers who want to learn how to develop high-quality software using Test Driven Development (TDD) with Spring Boot. TDD is a software development process that involves writing tests before writing code, and it has …
This course is designed for software developers who want to learn how to develop high-quality software using Test Driven Development (TDD) with Spring Boot. TDD is a software development process that involves writing tests before writing code, and it has become an essential part of modern software development.
In this course, you will learn how to set up your environment for TDD using Spring Boot, Maven/Gradle, and IntelliJ. You will also learn how to write tests using JUnit, AssertJ, and Mockito, and how to implement TDD in your Spring Boot projects.
The course will cover the testing pyramid, which includes unit testing, integration testing, and end-to-end testing. You will learn how to write unit tests for your service and controller layers, and how to mock data access layers. You will also learn how to handle exceptions in tests, and how to view test coverage reports.
In addition, the course will cover Continuous Integration and Continuous Deployment (CI/CD) using Heroku and Github. You will learn how to create a Heroku account for deployment, push your code to Github, and configure a Github Action pipeline to validate your tests and deployment.
By the end of the course, you will have a solid understanding of TDD with Spring Boot and CI/CD, and you will be able to write high-quality software that is tested and deployed automatically.
Course Outcome:
Upon completion of this course, students will be able to:
- Understand the principles and benefits of Test Driven Development
- Set up their environment for TDD with Spring Boot, Maven/Gradle, and IntelliJ
- Write tests using JUnit, AssertJ, and Mockito
- Implement TDD in their Spring Boot projects, including service and controller layers
- Handle exceptions in tests and view test coverage reports
- Deploy their code using Heroku and Github Actions pipeline
- Write high-quality software that is tested and deployed automatically