Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to Eclipse, Unit Testing and JUnit David Rabinowitz.

Similar presentations


Presentation on theme: "Introduction to Eclipse, Unit Testing and JUnit David Rabinowitz."— Presentation transcript:

1 Introduction to Eclipse, Unit Testing and JUnit David Rabinowitz

2 March 3rd, 2004 Object Oriented Design Course 2 Eclipse Eclipse is a kind of universal tool platform - an open extensible IDE for anything and nothing in particular. plugins JDT CDT UML Many many more

3 March 3rd, 2004 Object Oriented Design Course 3 Working with Eclipse – Live Demonstration Project Views Code Assist Errors Debugging

4 March 3rd, 2004 Object Oriented Design Course 4 Unit Tests First level of testing Done by the programmer Part of the coding process Delivered with the code Part of the build process

5 March 3rd, 2004 Object Oriented Design Course 5 What’s a Unit? Unit tests should be written in test classes, that replace ‘drivers’ For example, class Stack Class Stack Has push, pop, count, … Class TestStack Has testPush, testPop Tests are per-functionality Not per method ( testPushNull ) Not per class ( testIterators ) Unit testing can have several levels

6 March 3rd, 2004 Object Oriented Design Course 6 What’s a Unit Test? Call methods, and assert conditions void testPush() { s = new Stack(); s.push(new Integer(10)); assertEquals(s.count() == 1); } Tests check themselves Only output if a test fails Write tests after writing interface Run all tests after each change

7 March 3rd, 2004 Object Oriented Design Course 7 Running Unit Tests A main() is required to run tests There are better options JUnit for Java CppUnit for C++ Unit Testing Frameworks Graphical user interface Easily choose which tests to run Elegantly support for test suites

8 March 3rd, 2004 Object Oriented Design Course 8 Coding with Unit Tests Part of the design process Design for testability --> Modularity Part of the coding process Test-first coding Run tests after each build Part of the build process Build = compile + link + pass unit tests A.k.a. “smoke tests”

9 March 3rd, 2004 Object Oriented Design Course 9 Benefits of Unit Tests Regression Testing For your own code Daily build: for others’ work Part of the usual work Replaces work done anyway Causes tests to be written Validates the design before impl

10 March 3rd, 2004 Object Oriented Design Course 10 Top 12 Reasons to Write Unit Tests Part I Tests Reduce Bugs in New Features Tests Reduce Bugs in Existing Features Tests Are Good Documentation Tests Reduce the Cost of Change

11 March 3rd, 2004 Object Oriented Design Course 11 Top 12 Reasons to Write Unit Tests Part II Tests Improve Design Tests Allow Refactoring Tests Constrain Features Tests Defend Against Other Programmers

12 March 3rd, 2004 Object Oriented Design Course 12 Top 12 Reasons to Write Unit Tests Part III Testing Is Fun Testing Forces You to Slow Down and Think Testing Makes Development Faster Tests Reduce Fear

13 March 3rd, 2004 Object Oriented Design Course 13 JUnit Unit testing framework for Java Open Source Integrated into Eclipse TestCase setUp(), tearDown() Test () TestSuite TestRunner

14 March 3rd, 2004 Object Oriented Design Course 14 Resources Eclipse http://www.eclipse.org/ http://www.eclipse-plugins.info/ Top 12 Reasons to Write Unit Tests http://www.onjava.com/pub/a/onjava/2003 /04/02/javaxpckbk.html JUnit http://www.junit.org/


Download ppt "Introduction to Eclipse, Unit Testing and JUnit David Rabinowitz."

Similar presentations


Ads by Google