Introduction To J unit
Upcoming SlideShare
Loading in...5
×
 

Introduction To J unit

on

  • 290 views

 

Statistics

Views

Total Views
290
Views on SlideShare
290
Embed Views
0

Actions

Likes
0
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Introduction To J unit Introduction To J unit Presentation Transcript

  • Company LOGO JUnit Week 8, Session 3 Lecturer : ACB - STQA IE 31315 - Institut Teknologi Del Jl. Sisingamangaraja Sitoluama, Laguboti 22381 Toba – SUMUT http://www.del.ac.id
  • Topics  What is JUnit?  Why JUnit framework?  JUnit mechanics  Fixtures  Test suites  Test runners  JUnit classes 5/20/2014 STQA/Week09/JUnit 2
  • What is JUnit?  An unit-testing tool for Java programs  Supports Test-Driven-Development  Agile Method  Goal: Accelerate programming and increase the quality of code.  Not for testing GUI 5/20/2014 STQA/Week09/JUnit 3
  • JUnit (cont’d)  Each method under test is treated as a unit  The automated testing scripts are in the form of methods in another Java source file  The job of the software developers/testers is then to write the automated testing scripts 5/20/2014 STQA/Week09/JUnit 4
  • Why Junit?  Without JUnit, you will have to use println() to print out some result: 5/20/2014 STQA/Week09/JUnit 5
  • Why JUnit (cont’d) Without JUnit:  No explicit concept of test passing or failure  No mechanism to collect results in structured fashion  No replicability 5/20/2014 STQA/Week09/JUnit 6
  • Key Goals of JUnit  Easy to use to create tests  Create tests that retain their value over time  Leverage existing tests to write new ones (reusable) 5/20/2014 STQA/Week09/JUnit 7
  • What does JUnit Provide?  API for easily creating Java test cases 5/20/2014 STQA/Week09/JUnit 8
  • What does JUnit Provide?  Comprehensive assertion facilities  verify expected versus actual results 5/20/2014 STQA/Week09/JUnit 9
  • What does JUnit Provide?  Test runners for running tests 5/20/2014 STQA/Week09/JUnit 10
  • What does JUnit Provide?  Reporting 5/20/2014 STQA/Week09/JUnit 11
  • What does JUnit Provide? Aggregation facility (test suites)  Used to collect all the test cases  Suites can contain testCases and testSuites – TestSuite(java.lang.Class theClass, <java.lang.String name>) – addTest(Test test) or addTestSuite(java.lang.Class testClass)  Suites can have hierarchy 5/20/2014 STQA/Week09/JUnit 12
  • How to write JUnit-based testing code (Minimum)  Include JUnit.jar in the classpath  Define a subclass of TestCase class  Define one or more public testXXX() methods in the subclass  Write assert methods inside the testXXX methods()  Optionally define main() to run the TestCase in standalone mode 5/20/2014 STQA/Week09/JUnit 13
  • Test methods  Test methods has name pattern: testXXX()  XXX reflects the method of the target class  Test methods must have no arguments  Test methods are type of void 5/20/2014 STQA/Week09/JUnit 14
  • Very Simple Test import junit.framework.TestCase; public class SimpleTest extends TestCase { public SimpleTest(String name) { super(name); } // Test code public void testSomething() { System.out.println("About to call assertTrue() method..."); assertTrue(4 == (2 * 2)); } // You don't have to have main() method, use Test runner public static void main(String[] args){ junit.textui.TestRunner.run(SimpleTest.class); } } 5/20/2014 STQA/Week09/JUnit 15
  • Assert Statements  JUnit Assertions are methods starting with assert  Determines the success or failure of a test  An assert is simply a comparison between  an expected value and an actual value  Two variants  assertXXX(...)  assertXXX(String message, ...) the message is displayed when the assertXXX() fails 5/20/2014 STQA/Week09/JUnit 16
  • Assert Statements (cont’d)  Asserts that a condition is true – assertTrue(boolean condition) – assertTrue(String message, boolean condition)  Asserts that a condition is false – assertFalse(boolean condition) – assertFalse(String message, boolean condition) 5/20/2014 STQA/Week09/JUnit 17
  • Assert Statements (cont’d)  Asserts expected.equals(actual) behavior – assertEquals(expected, actual) – assertEquals(String message, expected, actual)  Asserts expected == actual behavior – assertSame(Object expected, Object actual) – assertSame(String message, Object expected, Object actual) 5/20/2014 STQA/Week09/JUnit 18
  • Assert Statements (cont’d)  Asserts object reference is null – assertNull(Object obj) – assertNull(String message, Object obj)  Asserts object reference is not null – assertNotNull(Object obj) – assertNotNull(String message, Object obj)  Forces a failure – fail() – fail(String message) 5/20/2014 STQA/Week09/JUnit 19
  • Fixtures  setUp() and tearDown() used to initialize and release common test data  setUp() is run before every test invocation  tearDown() is run after every test method 5/20/2014 STQA/Week09/JUnit 20
  • JUnit Classes 5/20/2014 STQA/Week09/JUnit 21
  • References  www.junit.org  http://www.javapassion.com/javase/javaju nit.pdf 5/20/2014 STQA/Week09/JUnit 22
  • THANK YOU 5/20/2014 STQA/Week09/JUnit 23