JUnit - PowerPoint PPT Presentation

About This Presentation
Title:

JUnit

Description:

Sample Assertions (cont'd) static void assertEquals(boolean expected, boolean actual) ... How to Run Tests. JUnit provides test drivers ... – PowerPoint PPT presentation

Number of Views:57
Avg rating:3.0/5.0
Slides: 20
Provided by: it8189
Learn more at: https://cs.gmu.edu
Category:
Tags: drivers | junit | sample | tests

less

Transcript and Presenter's Notes

Title: JUnit


1
JUnit
  • SWE 619
  • Spring 2008

2
What is JUnit?
  • Open source Java testing framework used to write
    and run repeatable automated tests
  • JUnit features include
  • Assertions for testing expected results
  • Test fixtures for sharing common test data
  • Test suites for easily organizing and running
    tests
  • Graphical and textual test runners

3
Test Scenarios with JUnit
  • Used to test
  • A whole object
  • Part of an object - a method or some interacting
    methods
  • Interaction between several objects
  • A test case represents one scenario
  • A tester class contains more than one scenario
  • Each senario is written into one test method

4
Writing Tests for JUnit
  • Need to use the methods of the junit.framework.ass
    ert class
  • javadoc gives a complete description of its
    capabilities
  • Each of these methods checks some condition and
    reports back to the test runner whether the test
    failed or succeeded.
  • The test runner uses the result to update the
    display. All of the methods return void (i.e.
    they are procedures)

5
Writing Tests for JUnit (contd)
  • A few representative methods of
    junit.framework.assert
  • assertTrue(boolean)
  • assertTrue(String, boolean)
  • assertEquals(Object, Object)
  • assertNull(Object)
  • fail(String)

6
Sample Assertions (contd)
  • static void assertEquals(boolean expected,
    boolean actual)           Asserts that two
    booleans are equal.
  • static void assertEquals(byte expected,
    byte actual)           Asserts that two bytes
    are equal.
  • static void assertEquals(char expected,
    char actual)           Asserts that two chars
    are equal.
  • static void assertEquals(double expected,
    double actual, double delta)           Asserts
    that two doubles are equal concerning a delta.
  • static void assertEquals(float expected,
    float actual, float delta)           Asserts
    that two floats are equal concerning a delta.
  • static void assertEquals(int expected,
    int actual)           Asserts that two ints are
    equal.
  • For a complete list, see
  • http//junit.sourceforge.net/javadoc/junit/framewo
    rk/Assert.html

7
How to write test case
  • Two different ways for junit versions 3.X and
    4.x.
  • In Junit 3.X
  • 1) import junit.framework.2) extend TestCase.
  • 3) name the test methods with a prefix of test
  • 4) validate conditions using one of the several
    assert methods

8
How to write test case (contd)
  • In Junit 4.0 and later
  • Do not extend from Junit.framework.TestCase
  • Do not prefix the test method wit test
  • Use one of the assert methods
  • Run the test using JUnit4TestAdapter

9
Simple Example
  • public class Math         static public int
    add(int a, int b)                    return a
    b        

10
Example JUnit test case
  • import junit.framework.
  • public class TestMath extends TestCase
  •   public void testAdd()         int num1 3
            int num2 2         int total 5  
          int sum 0         sum Math.add(num1,
    num2)         assertEquals(sum, total)    

11
Testing the Stack class
  • public class Stack
  • public String toString()
  • // EFFECTS Returns the String
    representation of this Stack from the
  • // top to the bottom.
  • StringBuffer buf new
    StringBuffer("")
  • for (int i size-1 i gt 0 i--)
  • if (i lt (size-1))
  • buf.append(", ")
  • buf.append(elementsi.toS
    tring())
  • buf.append("")
  • return buf.toString()
  • public boolean repOk()
  • if (elements null) return
    false
  • if (size ! elements.length)
    return false
  • for (int i 0 i lt size i)

12
TestCases with JUnit 4.X for Stack
  • Necessary classes to be imported
  • import org.junit.After
  • import org.junit.Before
  • import org.junit.Test
  • import static org.junit.Assert.assertEquals
  • import junit.framework.JUnit4TestAdapter

13

TestCases with JUnit (Contd)

public class StackTest private Stack
stack / setUp method using
_at_Before annotation. Method can be
named anything. / _at_Before public
void runBeforeEachTest() stack
new Stack()
14
Test case with JUnit (contd)
  • _at_Test public void testRepOk()
  • boolean result stack.repOk()
  • assertEquals(true, result)
  • stack stack.push(new
    Integer(1))
  • result stack.repOk()
  • assertEquals(true, result)
  • stack stack.pop()
  • result stack.repOk()
  • assertEquals(true, result)
  • stack stack.push(new
    Integer(1))
  • stack.top()
  • result stack.repOk()
  • assertEquals(true, result)

15
Test case with JUnit (contd)
  • _at_Test public void testToString()
  • stack stack.push(new
    Integer(1))
  • stack stack.push(new
    Integer(2))
  • assertEquals("2, 1",
    stack.toString())
  • _at_After public void runAfterEachTest()
  • stack null
  • public static junit.framework.Test
    suite()
  • return new JUnit4TestAdapter(StackT
    est.class)

16
How to Run Tests
  • JUnit provides test drivers
  • Character-based test driver runs from the command
    line
  • GUI-based test driver-junit.swingui.TestRunner
  • allows to specify the test class to run,
  • "Run" button
  • examines the chosen class and finds all methods
    whose names begin with "test."
  • If a test fails, Junit gives the location of the
    failure and any exceptions that were thrown

17
JUnit Installation in Eclipse
  • In Eclipse, select Help-gtSoftware Updates-gtFind
    and Install
  • Choose 'Search For New Features to Install' and
    select 'Next'
  • Select 'New Remote Site'
  • Enter a name for this server JUnit Factory
  • Enter (or copy/paste) this url
    http//www.junitfactory.com/update/
  • Install all plug-ins in the 'JUnit Factory'
    category and restart Eclipse

18
Generating Tests in Eclipse
  • Select a Java class in Eclipse and click the
    Generate Tests ( )button
  • When the JUnit Factory view says your test is
    done, click the link in the Result column to open
    it
  • Select the test and choose Run-gtRun As-gtAgitar
    JUnit Test from the main menu

19
Eclipse JUnit Plugin
  • See tutorial
  • http//open.ncsu.edu/se/tutorials/junit/
  • http//www.laliluna.de/eclipse-junit-testing-tutor
    ial.html
Write a Comment
User Comments (0)
About PowerShow.com