26
JUnit test and Project 3 simulation

JUnit test and Project 3 simulation

  • Upload
    idalee

  • View
    68

  • Download
    0

Embed Size (px)

DESCRIPTION

JUnit test and Project 3 simulation. JUnit. The testing problems The framework of JUnit A case study Acknowledgement: using some materials from JUNIT tutorial by Hong Qing Yu ( www.cs.le.ac.uk/people/hqy1). The Testing Problems. Should write. Do. programmers. few. Why?. I am so busy. - PowerPoint PPT Presentation

Citation preview

Page 1: JUnit test and Project 3 simulation

JUnit test and Project 3 simulation

Page 2: JUnit test and Project 3 simulation

2

JUnit

The testing problemsThe framework of JUnitA case study

Acknowledgement: using some materials from JUNIT tutorial by Hong Qing Yu (www.cs.le.ac.uk/people/hqy1)

Page 4: JUnit test and Project 3 simulation

4

The Testing Problems

Programmers need such kind of tool: “Writing a few lines of code, then a test that should run, or even

better, to write a test that won't run, then write the code that will make it run.”

JUnit is that kind of tool!

Page 5: JUnit test and Project 3 simulation

5

JUnit

The testing problems The framework of JUnitA case study

Page 7: JUnit test and Project 3 simulation

7

JUnit

The testing problemsThe framework of JUnitA case study

Page 8: JUnit test and Project 3 simulation

8

A Case Study

Lab3Queue:enQueue methoddeQueue method

Page 9: JUnit test and Project 3 simulation

9

Include junit library in eclipse

Page 10: JUnit test and Project 3 simulation

10

How to Write A TestCase using Junit (available in Eclipse 3.1 or later)

Step 1:Create a JUNIT test case (File -> New -> Junit Test Case

Page 11: JUnit test and Project 3 simulation

11

Create a test case

Page 12: JUnit test and Project 3 simulation

12

Create a test case

import junit.framework.*;public class Lab3QueueTest {

public void setUp() throws Exception {}

public void tearDown() throws Exception {}

}

Page 13: JUnit test and Project 3 simulation

13

Create a test case

import junit.framework.*;public class Lab3QueueTest extends TestCase {

Lab3Queue testQueue;int queueSize;public void setUp() throws Exception {

testQueue = new Lab3Queue();queueSize = testQueue.getSize();

}

public void tearDown() throws Exception {}

}

Page 14: JUnit test and Project 3 simulation

14

Create a test case

For each method that you are going to test:Write a corresponding test method named:

test<method name> in the test case

Page 15: JUnit test and Project 3 simulation

15

Create a test case

public void testenQueue() {int newItem = 1;queueSize = testQueue.getSize();testQueue.enQueue(newItem);Assert.assertEquals(queueSize+1, testQueue.getSize());int actualItem = ((Integer) testQueue.getLastNode()).intValue();Assert.assertEquals(newItem, actualItem);

}

Page 16: JUnit test and Project 3 simulation

16

Assert assertEquals(expected, actual) assertEquals(message, expected, actual) assertEquals(expected, actual, delta) assertEquals(message, expected, actual, delta) assertFalse(condition) assertFalse(message, condition) Assert(Not)Null(object) Assert(Not)Null(message, object) Assert(Not)Same(expected, actual) Assert(Not)Same(message, expected, actual) assertTrue(condition) assertTrue(message, condition)

Page 17: JUnit test and Project 3 simulation

17

Structure

setUp() Storing the fixture's objects in instance variables of your

TestCase subclass and initialize them by overriding the setUp method

tearDown() Releasing the fixture’s

Page 18: JUnit test and Project 3 simulation

18

Writing a test suite

Step 2: Create a test suite by choosing

Page 19: JUnit test and Project 3 simulation

19

Writing a test suite

Page 20: JUnit test and Project 3 simulation

20

Writing a test suite

import junit.framework.Test;import junit.framework.TestSuite;public class AllTests {

public static Test suite() {TestSuite suite = new TestSuite("Test for

AiportSimulation");//$JUnit-BEGIN$suite.addTestSuite(Lab3QueueTest.class);//$JUnit-END$return suite;

}}

Page 21: JUnit test and Project 3 simulation

21

Running a test

AllTests -> choose Run -> Run As -> Junit Test

Page 22: JUnit test and Project 3 simulation

22

Running a test

Page 23: JUnit test and Project 3 simulation

23

Design Test Cases

The real world scenarios The number boundaries

Page 24: JUnit test and Project 3 simulation

24

TipsTestcases must extend TestCaseAll ‘test’ methods must include at least one call toan assert method or to fail:

assertEquals (String message, ...)assertNotNull (String message, Object obj)assertNull (String message, Object obj)assertSame (String message, Obj exp, Obj

actual)assertTrue (String message, boolean condition)fail (String message)

Remove System.out.println after test cases are working and rely on Junit assert methods to determine success/failure.

Page 25: JUnit test and Project 3 simulation

25

Dynamic Run

Since JUnit 2.0 there is an even simpler dynamic way. You only pass the class with the tests to a TestSuite and it extracts the test methods automatically.

suite.addTestSuite(Lab3QueueTest.class);

Page 26: JUnit test and Project 3 simulation

26

Project 3 - Algorithm