Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Unit testing with java
1. Unit Testing with JAVA
Dinuka Malalanayake
13-12-2011
“Any Unit Test is better than none”
2. 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”
3. 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
“Any Unit Test is better than none”
− Higher quality
− More flexibility
4. 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”
10. How to do the Unit testing with
JAVA?
Pre Requirement
− Source code
− Test Framework
− Test Methods
“Any Unit Test is better than none”
11. Test Fixture in Junit
import org.junit.*;
@Test
@Before
@After
@BeforeClass
@AfterClass
@Ignore….etc.
“Any Unit Test is better than none”
12. Test Fixture in Testng
import org.testng.*
@Test
@BeforeMethod
@AfterMethod
@BeforeClass
@AfterClass
@Test (enabled=false)….etc.
“Any Unit Test is better than none”
13. Way of working in Junit
@BeforeClass
− @Before
@Test
− @After
− @Before
@Test
− @After
@AfterClass
14. Way of working in Testng
@BeforeClass
− @BeforeMethod
@Test
− @AfterMethod
− @BeforeMethod
@Test
− @AfterMethod
@AfterClass
15. Assertion
import junit.framework.Assert;
assertEquals
assertFalse
assertNotNull
assertNotSame
assertNull
fail…etc.
“Any Unit Test is better than none”
16. 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”
17. Class Account
Type Name
float minimumBalance
float balance
Return type Name
void 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()
18.
19.
20. 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”
21. 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”
22. Disadvantages
Unnecessary Unit Tests can lead to
considerably high maintenance cost to your
overall project
“Any Unit Test is better than none”
23. 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”