Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Μεθοδολογίες Προγραμματισμού ΙΙ Έλεγχος Λογισμικού - ECLIPSE JUNIT – TDD TFD + Refactoring Παναγιώτης Σφέτσος, PhD

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Μεθοδολογίες Προγραμματισμού ΙΙ Έλεγχος Λογισμικού - ECLIPSE JUNIT – TDD TFD + Refactoring Παναγιώτης Σφέτσος, PhD"— Μεταγράφημα παρουσίασης:

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

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

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

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

5 Παράδειγμα – BoxVolume (1/3) 5Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ 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) 6Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ

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

8 Παράδειγμα – Calculator (1/2) 8Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ 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) 9Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ

10 Παράδειγμα – Test suit (1/3) 10Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Όταν έχουμε όλα τα tests ανοικτά, τότε μπορούμε να δημιουργήσουμε αυτόματα το test suit, επιλέγοντας από την 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 11Παναγιώτης Σφέτσος, Μεθοδολογίες Προγραμματισμού ΙΙ Βλέπουμε ότι κατά το “Refactoring” κάναμε λάθος στο test – BoxTest. Διορθώνουμε, σώζουμε και ξανα – τρέχουμε. Βλέπουμε ότι κατά το “Refactoring” κάναμε λάθος στο test – BoxTest. Διορθώνουμε, σώζουμε και ξανα – τρέχουμε. Παράδειγμα – Test suit (2/3)

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


Κατέβασμα ppt "Μεθοδολογίες Προγραμματισμού ΙΙ Έλεγχος Λογισμικού - ECLIPSE JUNIT – TDD TFD + Refactoring Παναγιώτης Σφέτσος, PhD"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google