Unit testing with java

Preview:

Citation preview

Unit Testing with JAVA

Dinuka Malalanayake 13-12-2011

“Any Unit Test is better than none”

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”

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”

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”

Making the Environment

Download the eclipse Configure JUnit or Testng framework

How to do the Unit testing with JAVA?

Pre Requirement Source code Test Framework Test Methods

“Any Unit Test is better than none”

Test Fixture in Junit

import org.junit.*;

@Test @Before @After @BeforeClass @AfterClass @Ignore….etc.

“Any Unit Test is better than none”

Test Fixture in Testng

import org.testng.*

@Test @BeforeMethod @AfterMethod @BeforeClass @AfterClass @Test (enabled=false)….etc.

“Any Unit Test is better than none”

Way of working in Junit

@BeforeClass @Before

@Test @After

@Before @Test

@After

@AfterClass

Way of working in Testng

@BeforeClass @BeforeMethod

@Test @AfterMethod

@BeforeMethod @Test

@AfterMethod

@AfterClass

Assertion import junit.framework.Assert;

assertEquals assertFalse assertNotNull assertNotSame assertNull fail…etc.

“Any Unit Test is better than none”

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”

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

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”

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”

Disadvantages

Unnecessary Unit Tests can lead to considerably high maintenance cost to your overall project

“Any Unit Test is better than none”

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”

Q&A

“Any Unit Test is better than none”

THANK YOU

“Any Unit Test is better than none”

Recommended