SlideShare uma empresa Scribd logo
1 de 23
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

Mais conteúdo relacionado

Mais procurados

05 junit
05 junit05 junit
05 junitmha4
 
Simple Unit Testing With Netbeans 6.1
Simple Unit Testing With Netbeans 6.1Simple Unit Testing With Netbeans 6.1
Simple Unit Testing With Netbeans 6.1Kiki Ahmadi
 
JUnit- A Unit Testing Framework
JUnit- A Unit Testing FrameworkJUnit- A Unit Testing Framework
JUnit- A Unit Testing FrameworkOnkar Deshpande
 
JUnit 5 - The Next Generation of JUnit - Ted's Tool Time
JUnit 5 - The Next Generation of JUnit - Ted's Tool TimeJUnit 5 - The Next Generation of JUnit - Ted's Tool Time
JUnit 5 - The Next Generation of JUnit - Ted's Tool TimeTed Vinke
 
What is JUnit? | Edureka
What is JUnit? | EdurekaWhat is JUnit? | Edureka
What is JUnit? | EdurekaEdureka!
 
Unit testing with Junit
Unit testing with JunitUnit testing with Junit
Unit testing with JunitValerio Maggio
 
Test driven development - JUnit basics and best practices
Test driven development - JUnit basics and best practicesTest driven development - JUnit basics and best practices
Test driven development - JUnit basics and best practicesNarendra Pathai
 
Automated Unit Testing
Automated Unit TestingAutomated Unit Testing
Automated Unit TestingMike Lively
 

Mais procurados (20)

05 junit
05 junit05 junit
05 junit
 
Junit
JunitJunit
Junit
 
Junit 4.0
Junit 4.0Junit 4.0
Junit 4.0
 
Junit
JunitJunit
Junit
 
Simple Unit Testing With Netbeans 6.1
Simple Unit Testing With Netbeans 6.1Simple Unit Testing With Netbeans 6.1
Simple Unit Testing With Netbeans 6.1
 
JUNit Presentation
JUNit PresentationJUNit Presentation
JUNit Presentation
 
JUnit 5
JUnit 5JUnit 5
JUnit 5
 
Junit
JunitJunit
Junit
 
JUnit- A Unit Testing Framework
JUnit- A Unit Testing FrameworkJUnit- A Unit Testing Framework
JUnit- A Unit Testing Framework
 
JUnit 5 - The Next Generation of JUnit - Ted's Tool Time
JUnit 5 - The Next Generation of JUnit - Ted's Tool TimeJUnit 5 - The Next Generation of JUnit - Ted's Tool Time
JUnit 5 - The Next Generation of JUnit - Ted's Tool Time
 
What is JUnit? | Edureka
What is JUnit? | EdurekaWhat is JUnit? | Edureka
What is JUnit? | Edureka
 
Junit tutorial
Junit tutorialJunit tutorial
Junit tutorial
 
Unit testing with Junit
Unit testing with JunitUnit testing with Junit
Unit testing with Junit
 
Unit Testing in Java
Unit Testing in JavaUnit Testing in Java
Unit Testing in Java
 
Unit testing with JUnit
Unit testing with JUnitUnit testing with JUnit
Unit testing with JUnit
 
Introduction to JUnit
Introduction to JUnitIntroduction to JUnit
Introduction to JUnit
 
Test driven development - JUnit basics and best practices
Test driven development - JUnit basics and best practicesTest driven development - JUnit basics and best practices
Test driven development - JUnit basics and best practices
 
3 j unit
3 j unit3 j unit
3 j unit
 
Automated Unit Testing
Automated Unit TestingAutomated Unit Testing
Automated Unit Testing
 
Testing In Java
Testing In JavaTesting In Java
Testing In Java
 

Semelhante a JUnit Testing Framework Explained

J unit presentation
J unit presentationJ unit presentation
J unit presentationPriya Sharma
 
Junit4&testng presentation
Junit4&testng presentationJunit4&testng presentation
Junit4&testng presentationSanjib Dhar
 
Coded ui - lesson 4 - coded ui test
Coded ui - lesson 4 - coded ui testCoded ui - lesson 4 - coded ui test
Coded ui - lesson 4 - coded ui testOmer Karpas
 
Unit Testing - Nakov's Talk @ VarnaConf 2013
Unit Testing - Nakov's Talk @ VarnaConf 2013Unit Testing - Nakov's Talk @ VarnaConf 2013
Unit Testing - Nakov's Talk @ VarnaConf 2013Svetlin Nakov
 
Unit testing by Svetlin Nakov
Unit testing by Svetlin NakovUnit testing by Svetlin Nakov
Unit testing by Svetlin Nakovit-tour
 
Junit and cactus
Junit and cactusJunit and cactus
Junit and cactusHimanshu
 
TestNG Session presented in PB
TestNG Session presented in PBTestNG Session presented in PB
TestNG Session presented in PBAbhishek Yadav
 
Unit testing and test driven development using vs
Unit testing and test driven development using vsUnit testing and test driven development using vs
Unit testing and test driven development using vsAbhimanyu Singhal
 
GeeCON 2012 Bad Tests, Good Tests
GeeCON 2012 Bad Tests, Good TestsGeeCON 2012 Bad Tests, Good Tests
GeeCON 2012 Bad Tests, Good TestsTomek Kaczanowski
 
Confitura 2012 Bad Tests, Good Tests
Confitura 2012 Bad Tests, Good TestsConfitura 2012 Bad Tests, Good Tests
Confitura 2012 Bad Tests, Good TestsTomek Kaczanowski
 
TestNG introduction
TestNG introductionTestNG introduction
TestNG introductionDenis Bazhin
 
Introduction to JUnit testing in OpenDaylight
Introduction to JUnit testing in OpenDaylightIntroduction to JUnit testing in OpenDaylight
Introduction to JUnit testing in OpenDaylightOpenDaylight
 

Semelhante a JUnit Testing Framework Explained (20)

L08 Unit Testing
L08 Unit TestingL08 Unit Testing
L08 Unit Testing
 
J unit presentation
J unit presentationJ unit presentation
J unit presentation
 
Junit4&testng presentation
Junit4&testng presentationJunit4&testng presentation
Junit4&testng presentation
 
8-testing.pptx
8-testing.pptx8-testing.pptx
8-testing.pptx
 
What is new in JUnit5
What is new in JUnit5What is new in JUnit5
What is new in JUnit5
 
Coded ui - lesson 4 - coded ui test
Coded ui - lesson 4 - coded ui testCoded ui - lesson 4 - coded ui test
Coded ui - lesson 4 - coded ui test
 
Junit4.0
Junit4.0Junit4.0
Junit4.0
 
Unit Testing - Nakov's Talk @ VarnaConf 2013
Unit Testing - Nakov's Talk @ VarnaConf 2013Unit Testing - Nakov's Talk @ VarnaConf 2013
Unit Testing - Nakov's Talk @ VarnaConf 2013
 
Unit testing by Svetlin Nakov
Unit testing by Svetlin NakovUnit testing by Svetlin Nakov
Unit testing by Svetlin Nakov
 
Junit and cactus
Junit and cactusJunit and cactus
Junit and cactus
 
TestNG Session presented in PB
TestNG Session presented in PBTestNG Session presented in PB
TestNG Session presented in PB
 
N Unit Presentation
N Unit PresentationN Unit Presentation
N Unit Presentation
 
Unit testing and test driven development using vs
Unit testing and test driven development using vsUnit testing and test driven development using vs
Unit testing and test driven development using vs
 
GeeCON 2012 Bad Tests, Good Tests
GeeCON 2012 Bad Tests, Good TestsGeeCON 2012 Bad Tests, Good Tests
GeeCON 2012 Bad Tests, Good Tests
 
Confitura 2012 Bad Tests, Good Tests
Confitura 2012 Bad Tests, Good TestsConfitura 2012 Bad Tests, Good Tests
Confitura 2012 Bad Tests, Good Tests
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Junit
JunitJunit
Junit
 
TestNG introduction
TestNG introductionTestNG introduction
TestNG introduction
 
Qunit testing slider
Qunit testing sliderQunit testing slider
Qunit testing slider
 
Introduction to JUnit testing in OpenDaylight
Introduction to JUnit testing in OpenDaylightIntroduction to JUnit testing in OpenDaylight
Introduction to JUnit testing in OpenDaylight
 

Último

Call Girls Moshi Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Moshi Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Moshi Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Moshi Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 
Call Girl Nagpur Roshni Call 7001035870 Meet With Nagpur Escorts
Call Girl Nagpur Roshni Call 7001035870 Meet With Nagpur EscortsCall Girl Nagpur Roshni Call 7001035870 Meet With Nagpur Escorts
Call Girl Nagpur Roshni Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
(NANDITA) Hadapsar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune ...
(NANDITA) Hadapsar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune ...(NANDITA) Hadapsar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune ...
(NANDITA) Hadapsar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune ...ranjana rawat
 
CSR_Tested activities in the classroom -EN
CSR_Tested activities in the classroom -ENCSR_Tested activities in the classroom -EN
CSR_Tested activities in the classroom -ENGeorgeDiamandis11
 
CSR_Module5_Green Earth Initiative, Tree Planting Day
CSR_Module5_Green Earth Initiative, Tree Planting DayCSR_Module5_Green Earth Initiative, Tree Planting Day
CSR_Module5_Green Earth Initiative, Tree Planting DayGeorgeDiamandis11
 
webinaire-green-mirror-episode-2-Smart contracts and virtual purchase agreeme...
webinaire-green-mirror-episode-2-Smart contracts and virtual purchase agreeme...webinaire-green-mirror-episode-2-Smart contracts and virtual purchase agreeme...
webinaire-green-mirror-episode-2-Smart contracts and virtual purchase agreeme...Cluster TWEED
 
Call Girls Magarpatta Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Magarpatta Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Magarpatta Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Magarpatta Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 
VIP Call Girls Service Bandlaguda Hyderabad Call +91-8250192130
VIP Call Girls Service Bandlaguda Hyderabad Call +91-8250192130VIP Call Girls Service Bandlaguda Hyderabad Call +91-8250192130
VIP Call Girls Service Bandlaguda Hyderabad Call +91-8250192130Suhani Kapoor
 
Call Girls Budhwar Peth Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Budhwar Peth Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Budhwar Peth Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Budhwar Peth Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 
(DIYA) Call Girls Sinhagad Road ( 7001035870 ) HI-Fi Pune Escorts Service
(DIYA) Call Girls Sinhagad Road ( 7001035870 ) HI-Fi Pune Escorts Service(DIYA) Call Girls Sinhagad Road ( 7001035870 ) HI-Fi Pune Escorts Service
(DIYA) Call Girls Sinhagad Road ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
(ANIKA) Call Girls Wagholi ( 7001035870 ) HI-Fi Pune Escorts Service
(ANIKA) Call Girls Wagholi ( 7001035870 ) HI-Fi Pune Escorts Service(ANIKA) Call Girls Wagholi ( 7001035870 ) HI-Fi Pune Escorts Service
(ANIKA) Call Girls Wagholi ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
VVIP Pune Call Girls Koregaon Park (7001035870) Pune Escorts Nearby with Comp...
VVIP Pune Call Girls Koregaon Park (7001035870) Pune Escorts Nearby with Comp...VVIP Pune Call Girls Koregaon Park (7001035870) Pune Escorts Nearby with Comp...
VVIP Pune Call Girls Koregaon Park (7001035870) Pune Escorts Nearby with Comp...Call Girls in Nagpur High Profile
 
NO1 Verified kala jadu karne wale ka contact number kala jadu karne wale baba...
NO1 Verified kala jadu karne wale ka contact number kala jadu karne wale baba...NO1 Verified kala jadu karne wale ka contact number kala jadu karne wale baba...
NO1 Verified kala jadu karne wale ka contact number kala jadu karne wale baba...Amil baba
 
Sustainable Clothing Strategies and Challenges
Sustainable Clothing Strategies and ChallengesSustainable Clothing Strategies and Challenges
Sustainable Clothing Strategies and ChallengesDr. Salem Baidas
 
Call Girls In Faridabad(Ballabgarh) Book ☎ 8168257667, @4999
Call Girls In Faridabad(Ballabgarh) Book ☎ 8168257667, @4999Call Girls In Faridabad(Ballabgarh) Book ☎ 8168257667, @4999
Call Girls In Faridabad(Ballabgarh) Book ☎ 8168257667, @4999Tina Ji
 
(ANAYA) Call Girls Hadapsar ( 7001035870 ) HI-Fi Pune Escorts Service
(ANAYA) Call Girls Hadapsar ( 7001035870 ) HI-Fi Pune Escorts Service(ANAYA) Call Girls Hadapsar ( 7001035870 ) HI-Fi Pune Escorts Service
(ANAYA) Call Girls Hadapsar ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
Freegle User Survey as visual display - BH
Freegle User Survey as visual display - BHFreegle User Survey as visual display - BH
Freegle User Survey as visual display - BHbill846304
 

Último (20)

Call Girls Moshi Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Moshi Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Moshi Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Moshi Call Me 7737669865 Budget Friendly No Advance Booking
 
Call Girl Nagpur Roshni Call 7001035870 Meet With Nagpur Escorts
Call Girl Nagpur Roshni Call 7001035870 Meet With Nagpur EscortsCall Girl Nagpur Roshni Call 7001035870 Meet With Nagpur Escorts
Call Girl Nagpur Roshni Call 7001035870 Meet With Nagpur Escorts
 
(NANDITA) Hadapsar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune ...
(NANDITA) Hadapsar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune ...(NANDITA) Hadapsar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune ...
(NANDITA) Hadapsar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune ...
 
CSR_Tested activities in the classroom -EN
CSR_Tested activities in the classroom -ENCSR_Tested activities in the classroom -EN
CSR_Tested activities in the classroom -EN
 
CSR_Module5_Green Earth Initiative, Tree Planting Day
CSR_Module5_Green Earth Initiative, Tree Planting DayCSR_Module5_Green Earth Initiative, Tree Planting Day
CSR_Module5_Green Earth Initiative, Tree Planting Day
 
webinaire-green-mirror-episode-2-Smart contracts and virtual purchase agreeme...
webinaire-green-mirror-episode-2-Smart contracts and virtual purchase agreeme...webinaire-green-mirror-episode-2-Smart contracts and virtual purchase agreeme...
webinaire-green-mirror-episode-2-Smart contracts and virtual purchase agreeme...
 
Call Girls Magarpatta Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Magarpatta Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Magarpatta Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Magarpatta Call Me 7737669865 Budget Friendly No Advance Booking
 
VIP Call Girls Service Bandlaguda Hyderabad Call +91-8250192130
VIP Call Girls Service Bandlaguda Hyderabad Call +91-8250192130VIP Call Girls Service Bandlaguda Hyderabad Call +91-8250192130
VIP Call Girls Service Bandlaguda Hyderabad Call +91-8250192130
 
Call Girls Budhwar Peth Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Budhwar Peth Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Budhwar Peth Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Budhwar Peth Call Me 7737669865 Budget Friendly No Advance Booking
 
Green Banking
Green Banking Green Banking
Green Banking
 
Call Girls In Pratap Nagar꧁❤ 🔝 9953056974🔝❤꧂ Escort ServiCe
Call Girls In Pratap Nagar꧁❤ 🔝 9953056974🔝❤꧂ Escort ServiCeCall Girls In Pratap Nagar꧁❤ 🔝 9953056974🔝❤꧂ Escort ServiCe
Call Girls In Pratap Nagar꧁❤ 🔝 9953056974🔝❤꧂ Escort ServiCe
 
(DIYA) Call Girls Sinhagad Road ( 7001035870 ) HI-Fi Pune Escorts Service
(DIYA) Call Girls Sinhagad Road ( 7001035870 ) HI-Fi Pune Escorts Service(DIYA) Call Girls Sinhagad Road ( 7001035870 ) HI-Fi Pune Escorts Service
(DIYA) Call Girls Sinhagad Road ( 7001035870 ) HI-Fi Pune Escorts Service
 
(ANIKA) Call Girls Wagholi ( 7001035870 ) HI-Fi Pune Escorts Service
(ANIKA) Call Girls Wagholi ( 7001035870 ) HI-Fi Pune Escorts Service(ANIKA) Call Girls Wagholi ( 7001035870 ) HI-Fi Pune Escorts Service
(ANIKA) Call Girls Wagholi ( 7001035870 ) HI-Fi Pune Escorts Service
 
VVIP Pune Call Girls Koregaon Park (7001035870) Pune Escorts Nearby with Comp...
VVIP Pune Call Girls Koregaon Park (7001035870) Pune Escorts Nearby with Comp...VVIP Pune Call Girls Koregaon Park (7001035870) Pune Escorts Nearby with Comp...
VVIP Pune Call Girls Koregaon Park (7001035870) Pune Escorts Nearby with Comp...
 
E Waste Management
E Waste ManagementE Waste Management
E Waste Management
 
NO1 Verified kala jadu karne wale ka contact number kala jadu karne wale baba...
NO1 Verified kala jadu karne wale ka contact number kala jadu karne wale baba...NO1 Verified kala jadu karne wale ka contact number kala jadu karne wale baba...
NO1 Verified kala jadu karne wale ka contact number kala jadu karne wale baba...
 
Sustainable Clothing Strategies and Challenges
Sustainable Clothing Strategies and ChallengesSustainable Clothing Strategies and Challenges
Sustainable Clothing Strategies and Challenges
 
Call Girls In Faridabad(Ballabgarh) Book ☎ 8168257667, @4999
Call Girls In Faridabad(Ballabgarh) Book ☎ 8168257667, @4999Call Girls In Faridabad(Ballabgarh) Book ☎ 8168257667, @4999
Call Girls In Faridabad(Ballabgarh) Book ☎ 8168257667, @4999
 
(ANAYA) Call Girls Hadapsar ( 7001035870 ) HI-Fi Pune Escorts Service
(ANAYA) Call Girls Hadapsar ( 7001035870 ) HI-Fi Pune Escorts Service(ANAYA) Call Girls Hadapsar ( 7001035870 ) HI-Fi Pune Escorts Service
(ANAYA) Call Girls Hadapsar ( 7001035870 ) HI-Fi Pune Escorts Service
 
Freegle User Survey as visual display - BH
Freegle User Survey as visual display - BHFreegle User Survey as visual display - BH
Freegle User Survey as visual display - BH
 

JUnit Testing Framework Explained

  • 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. Topics  What is JUnit?  Why JUnit framework?  JUnit mechanics  Fixtures  Test suites  Test runners  JUnit classes 5/20/2014 STQA/Week09/JUnit 2
  • 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. 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. Why Junit?  Without JUnit, you will have to use println() to print out some result: 5/20/2014 STQA/Week09/JUnit 5
  • 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. 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. What does JUnit Provide?  API for easily creating Java test cases 5/20/2014 STQA/Week09/JUnit 8
  • 9. What does JUnit Provide?  Comprehensive assertion facilities  verify expected versus actual results 5/20/2014 STQA/Week09/JUnit 9
  • 10. What does JUnit Provide?  Test runners for running tests 5/20/2014 STQA/Week09/JUnit 10
  • 11. What does JUnit Provide?  Reporting 5/20/2014 STQA/Week09/JUnit 11
  • 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. 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. 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. 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. 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. 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. 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. 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. 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