JUnit is a unit testing framework for Java programming language. It plays a crucial role test-driven development, and is a family of unit testing frameworks collectively known as xUnit.
TestNG is a testing framework inspired from JUnit and NUnit, but introducing some new functionalities that make it more powerful and easier to use.
Mocking is a way to test the functionality of a class in isolation. Mocking does not require a database connection or properties file read or file server read to test a functionality. Mock objects do the mocking of the real service.
We provide the following services
JUnit is an open source framework, which is used for writing and running tests.
Provides annotations to identify test methods.
JUnit tests can be run automatically and they check their own results and provide immediate feedback.
TestNG uses more Java and OO features.
TestNG supports testing integrated classes
TestNG support Dependent test methods, parallel testing, load testing, and partial failure.
Mockito does not need to write mock objects on your own.
Renaming interface method names or reordering parameters will not break the test code as Mocks are created at runtime.
Why do we use Junit, TestNG and Mockito?
JUnit allows the developer to incrementally build test suites to measure progress and detect unintended side effects. Tests can be run continuously. Using TestNG we can generate a proper report, and you can easily come to know how many test cases are passed, failed and skipped.
Mockito is used to mock interfaces so that a dummy functionality can be added to a mock interface that can be used in unit testing.