Junit

3,112
-1

Published on

JUnit is a framework for Java, so the very first requirement is to have JDK installed in your machine.
An open source framework which is used for writing & running tests
Shows test progress in a bar that is green if test is going fine and it turns red when a test fails

Published in: Technology, Education
1 Comment
2 Likes
Statistics
Notes
No Downloads
Views
Total Views
3,112
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
82
Comments
1
Likes
2
Embeds 0
No embeds

No notes for slide

Junit

  1. 1. Ravi Kant Soni Senior Software Engineer i-Admin , Bangalore i-Admin,Bangalore 1
  2. 2. WHAT IS TESTING Testing is the process of checking the functionality of the application whether it is working as per requirements 2 i-Admin,Bangalore
  3. 3. WHAT IS JUNIT DeFacto framework for developing unit test in java  Currently version 4.x Developed by Erich Gamma & Kent Beck Released under IBM, and hosted on sourcefog Promotes the idea of "first testing then coding“ 3 i-Admin,Bangalore
  4. 4. FEATURES OF JUNIT An open source framework which is used for writing & running tests Shows test progress in a bar that is green if test is going fine and it turns red when a test fails Provides Annotation & Assertions 4 i-Admin,Bangalore
  5. 5. WHAT IS UNIT TEST CASES? Unit testing is the testing of single entity (class or method) A Unit Test Case is a part of code which ensures that the another part of code (method) works as expected There must be at least two test cases for each requirement: one positive test and one negative test 5 i-Admin,Bangalore
  6. 6. JUNIT ENVIRONMENT SETUP JUnit is a framework for Java, so the very first requirement is to have JDK installed in your machine. Download latest version of JUnit jar file from http://www.junit.org. 6 i-Admin,Bangalore
  7. 7. SET ECLIPSE ENVIRONMENT 7 i-Admin,Bangalore
  8. 8. JUNIT 4 8 i-Admin,Bangalore Automatically recognizes test methods preceded by @Test annotation No need for main() to run the tests Test methods must be public, void, with no parameters
  9. 9. EXAMPLE import org.junit.Test; // for @Test import static org.junit.Assert.assertEquals; // assertEquals() public class TestJunit { @Test public void testAdd() { assertEquals(2, 2 + 1); } } 9 i-Admin,Bangalore
  10. 10. JUNIT TEST OUTPUT 10 i-Admin,Bangalore
  11. 11. JUNIT TEST OUTPUT 11 i-Admin,Bangalore
  12. 12. JUNIT TEST OUTPUT 12 i-Admin,Bangalore Runs Total number of tests run Failures Tests that failed. For example assertions that failed. Errors Tests that generated unhandled (unexpected) exceptions. Time elapsed (ms)
  13. 13. JUNIT CLASSES JUnit classes are important classes which is used in writing and testing Junits Assert which contain a set of assert methods TestCase which contain a test case defines the fixture to run multiple tests 13 i-Admin,Bangalore
  14. 14. ASSERT org.junit.Assert.* static methods:  void assertEquals(expected, actual)  Works with object, int, long, byte, string, etc  Object: it invokes object.equals(object) for equality  assertEquals (expected, actual, εpsilon)  float and double  void assertFalse/ True(boolean condition)  void assertNull/ NotNull(Object object)  void fail() 14 i-Admin,Bangalore
  15. 15. ASSERT EXAMPLE i-Admin,Bangalore 15
  16. 16. ANNOTATION Annotations are like meta-tags  @Test  @Before  @After  @BeforeClass  @AfterClass  @Ignore 16 i-Admin,Bangalore
  17. 17. ANNOTATION EXAMPLE i-Admin,Bangalore 17
  18. 18. PARAMETERIZED TEST  Allows you to run the same test with different data  @RunWith(Parameterized.class)  public static method that returns a Collection of data  Collection must be an Array of the various parameters used for the test  public constructor that uses the parameters 18 i-Admin,Bangalore
  19. 19. PARAMETERIZED EXAMPLE i-Admin,Bangalore 19
  20. 20. SUITES  Specify an execution order  Add @Suite to an empty class @RunWith(Suite.class) @Suite.SuiteClasses({SomeTest.class}) public class AllTests { } 20 i-Admin,Bangalore
  21. 21. SUITES EXAMPLE i-Admin,Bangalore 21
  22. 22. TESTING EXCEPTIONS i-Admin,Bangalore 22
  23. 23. GOOD UNIT TEST  Any static utility method must have test  Make exception tests  Business models with equals and hashcode  Test that “something is true” but also that “not-something is false”  Give your tests meaningful names 23 i-Admin,Bangalore
  24. 24. MORE RESOURCE  Official site: www.junit.org  JUnit cook book http://junit.sourceforge.net/doc/cookbook /cookbook.htm (one recipe long!)  JUnit Javadoc: http://junit.org/junit/javadoc/4.5/ 24 i-Admin,Bangalore
  25. 25. i-Admin,Bangalore 25

×