unit testing with java
TRANSCRIPT
![Page 1: Unit testing with java](https://reader035.vdocuments.net/reader035/viewer/2022081419/555a6078d8b42ae7218b46dc/html5/thumbnails/1.jpg)
Unit Testing with JAVA
Dinuka Malalanayake 13-12-2011
“Any Unit Test is better than none”
![Page 2: Unit testing with java](https://reader035.vdocuments.net/reader035/viewer/2022081419/555a6078d8b42ae7218b46dc/html5/thumbnails/2.jpg)
Objectives
Unit testing? About JUnit How to do the Unit testing with JAVA Best Practices Advantages Disadvantages Similar Products
“Any Unit Test is better than none”
![Page 3: Unit testing with java](https://reader035.vdocuments.net/reader035/viewer/2022081419/555a6078d8b42ae7218b46dc/html5/thumbnails/3.jpg)
Unit testing?
A unit test is a procedure used to verify that a particular module of source code is working properly
Mouse, Keyboard, Monitor
Company wants to achieve three related goals Faster time-to-market Higher quality More flexibility
“Any Unit Test is better than none”
![Page 4: Unit testing with java](https://reader035.vdocuments.net/reader035/viewer/2022081419/555a6078d8b42ae7218b46dc/html5/thumbnails/4.jpg)
About Junit
Junit is an open source unit testing framework for JAVA.
Junit has plugin for Eclipse, NetBeans.....etc. It serves the same purpose as NUnit does in
the DotNet Technologies, and is one of many in the xUnit family
“Any Unit Test is better than none”
![Page 5: Unit testing with java](https://reader035.vdocuments.net/reader035/viewer/2022081419/555a6078d8b42ae7218b46dc/html5/thumbnails/5.jpg)
Making the Environment
Download the eclipse Configure JUnit or Testng framework
![Page 6: Unit testing with java](https://reader035.vdocuments.net/reader035/viewer/2022081419/555a6078d8b42ae7218b46dc/html5/thumbnails/6.jpg)
![Page 7: Unit testing with java](https://reader035.vdocuments.net/reader035/viewer/2022081419/555a6078d8b42ae7218b46dc/html5/thumbnails/7.jpg)
![Page 8: Unit testing with java](https://reader035.vdocuments.net/reader035/viewer/2022081419/555a6078d8b42ae7218b46dc/html5/thumbnails/8.jpg)
![Page 9: Unit testing with java](https://reader035.vdocuments.net/reader035/viewer/2022081419/555a6078d8b42ae7218b46dc/html5/thumbnails/9.jpg)
![Page 10: Unit testing with java](https://reader035.vdocuments.net/reader035/viewer/2022081419/555a6078d8b42ae7218b46dc/html5/thumbnails/10.jpg)
How to do the Unit testing with JAVA?
Pre Requirement Source code Test Framework Test Methods
“Any Unit Test is better than none”
![Page 11: Unit testing with java](https://reader035.vdocuments.net/reader035/viewer/2022081419/555a6078d8b42ae7218b46dc/html5/thumbnails/11.jpg)
Test Fixture in Junit
import org.junit.*;
@Test @Before @After @BeforeClass @AfterClass @Ignore….etc.
“Any Unit Test is better than none”
![Page 12: Unit testing with java](https://reader035.vdocuments.net/reader035/viewer/2022081419/555a6078d8b42ae7218b46dc/html5/thumbnails/12.jpg)
Test Fixture in Testng
import org.testng.*
@Test @BeforeMethod @AfterMethod @BeforeClass @AfterClass @Test (enabled=false)….etc.
“Any Unit Test is better than none”
![Page 13: Unit testing with java](https://reader035.vdocuments.net/reader035/viewer/2022081419/555a6078d8b42ae7218b46dc/html5/thumbnails/13.jpg)
Way of working in Junit
@BeforeClass @Before
@Test @After
@Before @Test
@After
@AfterClass
![Page 14: Unit testing with java](https://reader035.vdocuments.net/reader035/viewer/2022081419/555a6078d8b42ae7218b46dc/html5/thumbnails/14.jpg)
Way of working in Testng
@BeforeClass @BeforeMethod
@Test @AfterMethod
@BeforeMethod @Test
@AfterMethod
@AfterClass
![Page 15: Unit testing with java](https://reader035.vdocuments.net/reader035/viewer/2022081419/555a6078d8b42ae7218b46dc/html5/thumbnails/15.jpg)
Assertion import junit.framework.Assert;
assertEquals assertFalse assertNotNull assertNotSame assertNull fail…etc.
“Any Unit Test is better than none”
![Page 16: Unit testing with java](https://reader035.vdocuments.net/reader035/viewer/2022081419/555a6078d8b42ae7218b46dc/html5/thumbnails/16.jpg)
Steps for Unit testing
Create JAVA Project by using the Eclipse Write the simple class
public class Account {
}
Define the attributes and methods Create an Unit testing class Write down unit test code according to the
specification
“Any Unit Test is better than none”
![Page 17: Unit testing with java](https://reader035.vdocuments.net/reader035/viewer/2022081419/555a6078d8b42ae7218b46dc/html5/thumbnails/17.jpg)
Class Account
Return type Namevoid setMinimumBalanace(float minimumBalanace)float getMinimumBalanace()float deposit(float amount)float getBalance()void deposit(float amount)void withdraw(float amount)void calculateInterest(float interestRate) void reSetAccount()
Type Namefloat minimumBalancefloat balance
![Page 18: Unit testing with java](https://reader035.vdocuments.net/reader035/viewer/2022081419/555a6078d8b42ae7218b46dc/html5/thumbnails/18.jpg)
![Page 19: Unit testing with java](https://reader035.vdocuments.net/reader035/viewer/2022081419/555a6078d8b42ae7218b46dc/html5/thumbnails/19.jpg)
![Page 20: Unit testing with java](https://reader035.vdocuments.net/reader035/viewer/2022081419/555a6078d8b42ae7218b46dc/html5/thumbnails/20.jpg)
Best Practices
No conditional logic – Switch, if No loops Use appropriate method names Informative assertion message Separation per type
“Any Unit Test is better than none”
![Page 21: Unit testing with java](https://reader035.vdocuments.net/reader035/viewer/2022081419/555a6078d8b42ae7218b46dc/html5/thumbnails/21.jpg)
Advantages
Fast Test Isolation Environment Isolation – Use Mock Objects Unit testing gives you a safety net when
programmers re-factor or add functionality Unit tests can be used as documentation for
other programmers Development process becomes more flexible
“Any Unit Test is better than none”
![Page 22: Unit testing with java](https://reader035.vdocuments.net/reader035/viewer/2022081419/555a6078d8b42ae7218b46dc/html5/thumbnails/22.jpg)
Disadvantages
Unnecessary Unit Tests can lead to considerably high maintenance cost to your overall project
“Any Unit Test is better than none”
![Page 23: Unit testing with java](https://reader035.vdocuments.net/reader035/viewer/2022081419/555a6078d8b42ae7218b46dc/html5/thumbnails/23.jpg)
Similar Products
Programming Language Unit Testing Tool
C# NUnit
Java – J2ME JMUnit
C CUnit
C++ CppUnit
php PHPUnit
Python PyUnit / py.test
“Any Unit Test is better than none”
![Page 24: Unit testing with java](https://reader035.vdocuments.net/reader035/viewer/2022081419/555a6078d8b42ae7218b46dc/html5/thumbnails/24.jpg)
Q&A
“Any Unit Test is better than none”
![Page 25: Unit testing with java](https://reader035.vdocuments.net/reader035/viewer/2022081419/555a6078d8b42ae7218b46dc/html5/thumbnails/25.jpg)
THANK YOU
“Any Unit Test is better than none”