junit in eclipse
DESCRIPTION
JUNIT in Eclipse. Pepper Credit to Eclipse Documentation http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2FgettingStarted%2Fqs-junit.htm. Purpose. Create test case classes to test individual classes or small groups - PowerPoint PPT PresentationTRANSCRIPT
JUNIT in Eclipse
PepperCredit to Eclipse Documentation
http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2FgettingStarted%2Fqs-junit.htm
Purpose
• Create test case classes to test individual classes or small groups– Easy to hook test classes to the classes being
tested
• Test building tools inside Junit class• Easy to rerun one set of tests or all tests in the
entire system.• Easy to supress tests in production
Startup
• Create a project if you do not have one (file -> New -> Project)
• Create a folder for your test cases (optional) • Create a test case for a class you intend to
write (file -> new -> Junit Test Case)• Choose the type (new junit4 test) and name
your test class• You can indicate the name of the class being
tested, but only after it is created
Test Case Creation Screen
How to Create a Test Method
• Type @Test to override the test method• Type test method header -> public void
test2() • Code the test to just invoke the fail method
public void testFailure() throws Exception { fail();}
Running a test method
• Hit the run button. – Or Run as -> Junit test on
project or class• Junit Test runs• See results in JUnitView– Failure tab– Tab for all tests as a tree– * = changed code after running
test
Test Result Checking
http://www.vogella.com/tutorials/JUnit/article.html•assertEquals() : object comparison using equals method•assertTrue() / assertFalse() : compare to boolean value•assertNull() / assertNotNull() : is the variable null•assertSame() / assertNotSame(): reference same object address•assertThat - uses matcher
Let's Try• Write a simple class to be tested:package testProject;
public class aprogram {int x = 1;public int myfun (int y){x = x + 1; return x;}
}
Now code a few testspackage JUnitTest;import static org.junit.Assert.*;import org.junit.Test;import testProject.aprogram;
public class TestFailure {
@Testpublic void test1() {
aprogram a = new aprogram();aprogram b = new aprogram(); assertTrue( b.myfun(3) == 2 );assertTrue( a.myfun(3) == 3 );
}@Testpublic void test2() {
//fail("Not yet implemented");aprogram a = new aprogram();aprogram b = new aprogram();assertTrue( b.myfun(3) == 4 );//assertTrue( a.myfun(3) == 1 );
}}
Run the Tests
• See how it points to problem test• See how one failure in a test class stops the
running of the next one• Make both succeed• Make both fail
Create a Test Suite
• File -> New -> Java -> Junit -> Junit Test Suite • Name the suite (AllTests)• Select test classes to run