1 / 12

Μεθοδολογίες Προγραμματισμού ΙΙ Έλεγχος Λογισμικού - ECLIPSE JUNIT – TDD TFD + Refactoring

Μεθοδολογίες Προγραμματισμού ΙΙ Έλεγχος Λογισμικού - ECLIPSE JUNIT – TDD TFD + Refactoring. Παναγιώτης Σφέτσος , PhD http://aetos.it.teithe.gr/~sfetsos/ sfetsos@it.teithe.gr. Απλό Παράδειγμα στο Eclipse - 1. Εισαγωγή των κλάσεων της junit Η κλάση Ελέγχου Ο δομητής της κλάσης

Download Presentation

Μεθοδολογίες Προγραμματισμού ΙΙ Έλεγχος Λογισμικού - ECLIPSE JUNIT – TDD TFD + Refactoring

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Μεθοδολογίες Προγραμματισμού ΙΙ Έλεγχος Λογισμικού - ECLIPSE JUNIT – TDD TFD + Refactoring Παναγιώτης Σφέτσος, PhD http://aetos.it.teithe.gr/~sfetsos/ sfetsos@it.teithe.gr

  2. Απλό Παράδειγμαστο Eclipse - 1 Εισαγωγή των κλάσεων της junit Η κλάση Ελέγχου Ο δομητής της κλάσης Η μέθοδος του Test. 1 2 3 4 Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ import junit.framework.*; public class ATest extends TestCase { public ATest(String name) { super(name); } public void testATest() { int answer = 2; assertEquals((1+1), answer); }}

  3. Απλό Παράδειγμαστο Eclipse - 2 Στο Eclipse είναι ενσωματωμένες οι δύο εκδόσεις του Junit, δηλ. οι εκδόσεις 3 και 4. Έτσι δεν χρειάζεται εγκατάσταση του Junit. Εμείς επιλέγουμε την έκδοση που θέλουμε. Τα βήματα: Δημιουργούμε ένα νέο Java Project. Προσθέτουμε σε αυτό από την file - > new - >ένα Junit Test Case Δηλώνουμε το όνομα της κλάσης ελέγχου (ATest) και επιλέγουμε την έκδοση του Junit που θέλουμε Δημιουργείται η κλάση ATest, με τιςεντολές: import junit.framework.*; public class ATest extends TestCase{} //συμπληρώνουμε το σώμα του Test Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ

  4. Απλό Παράδειγμαστο Eclipse - 3 Run as: Junit Test…… Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ

  5. Παράδειγμα – BoxVolume (1/3) Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ import junit.framework.*; public class BoxTest extends TestCase { class Box { double width; double height; double depth; Box(double x, double y, double z) { width = x; height = y; depth = z; } double volume() {return width * height * depth;}} public void testAdd() { Box mybox1 = new Box(10, 20, 15); Box mybox2 = new Box(3, 6, 9); double vol; vol = mybox1.volume(); assertTrue(vol == 3000.00); vol = mybox2.volume(); assertTrue(vol == 167.00); // λάθος στον υπολογισμό (το σωστό 162.00) }}

  6. Παράδειγμα – BoxVolume (2/3) Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ

  7. Παράδειγμα – BoxVolume (3/3) Διορθώνουμε, σώζουμε και ξανα-τρέχουμε το test… Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ

  8. Παράδειγμα – Calculator (1/2) Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ import junit.framework.TestCase; class Calculator { public double add(double x, double y) { return (x+y);} } public class TestCalculator extends TestCase { public void testAdd() { Calculator calc = new Calculator(); double result = calc.add(80,10); assertEquals(90, result,0); } }

  9. Παράδειγμα – Calculator (2/2) Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ

  10. Παράδειγμα – Test suit (1/3) Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Όταν έχουμε όλα τα tests ανοικτά, τότε μπορούμε να δημιουργήσουμε αυτόματα το testsuit, επιλέγοντας από τηνfile - > new - > Other… - > Junit - > Junit Test Suit import junit.framework.Test; import junit.framework.TestSuite; public class AllTests { public static Test suite() { TestSuite suite = new TestSuite(AllTests.class.getName()); //$JUnit-BEGIN$ suite.addTestSuite(SimpleTest1.class); suite.addTestSuite(BoxTest.class); suite.addTestSuite(ATest.class); suite.addTestSuite(TestCalculator.class); //$JUnit-END$ return suite; } }

  11. Παράδειγμα – Test suit (2/3) Βλέπουμε ότι κατά το “Refactoring” κάναμε λάθος στο test – BoxTest. Διορθώνουμε, σώζουμε και ξανα – τρέχουμε. Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ

  12. Παράδειγμα – Test suit (3/3) Λαμβάνουμε την πράσινη μπάρα… Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ

More Related