JUnit
PRESENTED BY
AARTI JHA
JASMINE SHARMA
RIZWAN KHAN
ROHIT KUMAR
What is JUnit
JUnit is a unit testing framework for Java programming language.
JUnit promotes the idea of First Testing Then Coding , which emphasizes on setting up the
test data for a piece of code that can be tested first and then implemented.
It increases the productivity of the programmer and the stability of program code.
JUnit Framework can be easily integrated with either of the following −
Eclipse
Ant
Maven
.
Features of JUnit
JUnit is an open source framework, which is used for writing and running tests.
JUnit tests allow you to write codes faster, which increases quality.
JUnit is elegantly simple. It is less complex and takes less time.
Provides assertions for testing expected results.
JUnit shows test progress in a bar that is green if the test is running smoothly, and it turns red
when a test fails.
JUnit Test Framework
JUnit test framework provides the following important features −
Fixtures
Test Suites
Test Runners
JUnit classes
Fixtures
Fixtures is a fixed state of a set of objects used as a baseline for running tests. The purpose of a test
fixture is to ensure that there is a well-known and fixed environment in which tests are run so that
results are repeatable.
Test Suites
A test suite bundles a few unit test cases and runs them together. In JUnit, both @RunWith and
@Suite annotation are used to run the suite test.
Test Runners
Test runner is used for executing the test cases.
JUnit Classes
JUnit classes are important classes, used in writing and testing JUnits.
Some of the important classes are −
Assert − Contains a set of assert methods.
TestCase − Contains a test case that defines the fixture to run multiple tests.
TestResult − Contains methods to collect the results of executing a test case.
ASSERTION
All the assertions are in Assert Class.
public class Assert extends java.lang.Object
This class provides a set of assertions methods useful for writing tests.
Only failed assertions are recorded.
ASSERTION METHODS
void assertEquals(boolean expected, boolean actual)
Checks that two primitives/objects are equal.
void assertTrue(boolean condition)
Checks that a condition is true.
void assertFalse(boolean condition)
Checks that a condition is false.
void assertNotNull(Object object)
Checks that an object isn't null.
void assertNull(Object object)
Checks that an object is null.
void assertSame(object1, object2)
The assertSame() method tests if two object references point to the same object.
void assertNotSame(object1, object2)
The assertNotSame() method tests if two object references do not point to the same object.
ANNOTATION
Annotations are like meta-tags that you can add to your code, and apply them to methods or in class.
These annotations in JUnit provide the following information about test methods −
Which methods are going to run before and after test methods.
Which methods run before and after all the methods, and.
Which methods or classes will be ignored during the execution.
LIST OF ANNOTATIONS
@Test
The Test annotation tells JUnit that the public void method to which it is attached can be run as a test case.
@Before
Several tests need similar objects created before they can run. Annotating a public void method with
@Before causes that method to be run before each Test method.
@After
If you allocate external resources in a Before method, you need to release them after the test runs.
Annotating a public void method with @After causes that method to be run after the Test method.
@BeforeClass
Annotating a public static void method with @BeforeClass causes it to be run once before any of the test
methods in the class.
@AfterClass
This will perform the method after all tests have finished. This can be used to perform clean-up activities.
@Ignore
The Ignore annotation is used to ignore the test and that test will not be executed.
Testing via JUnit
We Can Test JUnit by using Test Case and Test Suite.
Test Case
A Test Case is a java class which is used to test a single class.
Test Suite
A Test Suite is a java class which contains many test cases or java classes to test together in a single
run.
Now Lets Understand the Basic Syntax of JUnit Testing Framework
Assertion – Assertions are very important in JUnit.
It is nothing but we are testing for a functionality and we set our expectation and comparing that with
actual value that we are getting after running the code.
assertEquals()
Example
Class Cal
{
public int add(int a , int b)
{
return (a + b);
}
}
Class CalTest
{
@Test
public void addShouldReturn()
{
Cal c1 =new Cal();
assertEquals(6, c1.add(2,4)) ;
}
}
If Test Case Passes
If Test Case Fails