Hey everyone in this article, we will quickly discuss about the Unit testing Java JUnit.
Read More:
- Check the Complete JavaServer Faces (JSF) Tutorial
- Check the Spring Boot JdbcTemplate Tutorials
- Check the Complete Spring Boot and Data JPA Tutorials
- Check the Complete Spring MVC Tutorials
- Check the Complete JSP Tutorials
- Check the Complete Spring Boot Tutorials [100+ Examples]
- Check the Complete Spring Boot and Thymeleaf Tutorial
- Check the Complete AWS Tutorial
- Check the Complete JavaServer Faces (JSF) Tutorial
- Check the Complete Spring Data JPA Tutorial
- Check the Complete Spring Security Tutorial
- Check the Javascript Projects for Beginners
Table of Contents
What are Unit tests?
Unit tests are a small piece of code that tests the java methods or components. Unit tests will typically check whether the given method returns the correct result or not.
Sample Unit test
Below is the Java method which adds the 2 integer numbers and returns the result.
public class SampleTest {
public int add(int a, int b) {
return a + b;
}
}
Below is the Unit test case for the above method which checks whether the method add()
will return the correct result or not when we pass 2 numbers.
class TestSampleTest {
@Test
void should_ReturnSumOfTwoNumbers() {
SampleTest sTest = new SampleTest();
assertEquals(5, sTest.add(2, 3));
}
}
Are Unit tests necessary?
The answer is Yes. Every software should have Unit tests. Every software developer should write Unit tests for their code. Unit tests increase confidence during development. It will also help us to write more reusable and cleaner code.
If you are not able to write Unit tests for your class then chances are you have designed your class correctly.
By writing Unit tests we can detect the bugs/mistakes early in the development rather than finding them in the production.
Benefits of Unit Testing
- Automated tests
- Better code design
- Fewer bugs and higher reliability
- It helps in continuous integration/continuous deployment (CI/CD)
Who writes Unit tests?
Typically software developers write Unit tests while creating the features/modules but not software testers. Software testers will test the Application from the Customer point of view. Basically they test User interfaces and end to end testing.
What are the different types of tests are there?
There are 3 types of tests are there –
- UI testing
- Functional/Integration testing
- Unit testing
UI testing: As we discussed earlier, UI testing is done by software testers. They most test the software from the customer point of view.
Functional/Integration testing: Sometimes functional testing is done by both software developers as well as software testers. Basically testing the multiple components together as a part of the test plan. It basically checks any negative side effects due to the integration.
Unit testing: It is purely done by software developers. They write unit tests for their classes, methods etc.
What are the different Testing Framework in Java?
In the world of Java, JUnit is the de facto standard for unit testing in Java. JUnit supports creating test cases, automation of the test cases, Utilities for test setup, teardown, and assertions.
Typically this JUnit is integrated with other testing frameworks as well such as Mockito for more complex projects. Mockito helps us to create mocks and stubs. It minimizes the dependencies on external components.
At the time of writing this article, the latest version of JUnit is JUnit 5, it was released in Sep 2017.
That’s it for this post, if you like this post, share this with your friends and colleagues or you can share this within your social media platform. Thanks, I will see you in our next post.