0
Company
LOGO
JUnit
Week 8, Session 3
Lecturer : ACB
- STQA IE 31315 -
Institut Teknologi Del
Jl. Sisingamangaraja
Sitoluam...
Topics
 What is JUnit?
 Why JUnit framework?
 JUnit mechanics
 Fixtures
 Test suites
 Test runners
 JUnit classes
5...
What is JUnit?
 An unit-testing tool for Java programs
 Supports Test-Driven-Development
 Agile Method
 Goal: Accelera...
JUnit (cont’d)
 Each method under test is treated
as a unit
 The automated testing scripts are
in the form of methods in...
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
st...
Key Goals of JUnit
 Easy to use to create tests
 Create tests that retain their value over
time
 Leverage existing test...
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/Week0...
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 test...
How to write JUnit-based
testing code (Minimum)
 Include JUnit.jar in the classpath
 Define a subclass of TestCase class...
Test methods
 Test methods has name pattern: testXXX()
 XXX reflects the method of the target class
 Test methods must ...
Very Simple Test
import junit.framework.TestCase;
public class SimpleTest extends TestCase {
public SimpleTest(String name...
Assert Statements
 JUnit Assertions are methods starting with
assert
 Determines the success or failure of a test
 An a...
Assert Statements
(cont’d)
 Asserts that a condition is true
– assertTrue(boolean condition)
– assertTrue(String message,...
Assert Statements
(cont’d)
 Asserts expected.equals(actual) behavior
– assertEquals(expected, actual)
– assertEquals(Stri...
Assert Statements
(cont’d)
 Asserts object reference is null
– assertNull(Object obj)
– assertNull(String message, Object...
Fixtures
 setUp() and tearDown() used to initialize
and release common test data
 setUp() is run before every test invoc...
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
Upcoming SlideShare
Loading in...5
×

Introduction To J unit

302

Published on

Published in: Environment, Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
302
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Introduction To J unit"

  1. 1. 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
  2. 2. Topics  What is JUnit?  Why JUnit framework?  JUnit mechanics  Fixtures  Test suites  Test runners  JUnit classes 5/20/2014 STQA/Week09/JUnit 2
  3. 3. 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
  4. 4. 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
  5. 5. Why Junit?  Without JUnit, you will have to use println() to print out some result: 5/20/2014 STQA/Week09/JUnit 5
  6. 6. 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
  7. 7. 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
  8. 8. What does JUnit Provide?  API for easily creating Java test cases 5/20/2014 STQA/Week09/JUnit 8
  9. 9. What does JUnit Provide?  Comprehensive assertion facilities  verify expected versus actual results 5/20/2014 STQA/Week09/JUnit 9
  10. 10. What does JUnit Provide?  Test runners for running tests 5/20/2014 STQA/Week09/JUnit 10
  11. 11. What does JUnit Provide?  Reporting 5/20/2014 STQA/Week09/JUnit 11
  12. 12. 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
  13. 13. 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
  14. 14. 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
  15. 15. 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
  16. 16. 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
  17. 17. 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
  18. 18. 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
  19. 19. 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
  20. 20. 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
  21. 21. JUnit Classes 5/20/2014 STQA/Week09/JUnit 21
  22. 22. References  www.junit.org  http://www.javapassion.com/javase/javaju nit.pdf 5/20/2014 STQA/Week09/JUnit 22
  23. 23. THANK YOU 5/20/2014 STQA/Week09/JUnit 23
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×