Multimediaexpo.cz je již 18 let na českém internetu !!
JUnit
Z Multimediaexpo.cz
Verze z 21. 10. 2010, 09:17
JUnit je framework pro jednotkové testy psaný v programovacím jazyce Java. Na jeho vývoji se podíleli vývojáři – Kent Beck a Erich Gamma. JUnit je pravděpodobně nejúspěšnější z rodiny xUnit frameworků, kterou odstartoval Kent Beck se svým SUnit pro Smalltalk.
Obsah |
Použití
Jednotkové testy jsou základním kamenem vývojových technik test-driven development a Extrémního programování a má se za to, že právě JUnit stojí za vznikem těchto programovacích technik. JUnit byl později portován na mnoho dalších jazyků, např. C# (NUnit), Python (PyUnit), Fortran (fUnit), Perl (Test::Class a Test::Unit) a C++ (CPPUnit). Tato rodina frameworků pro jednotkové testy byla pojmenována xUnit.
Příklad
Mějme třídu Calculator
ve které máme některé operace (sčítání a dělení). Pro tuto třídu jsou níže uvedeny JUnit testy pro verze 3.8 a 4.
package mypackage; public class Calculator { private double result = 0.0; public void sum(double sum) { result += sum; } public void divide(double divide) { result /= divide; } public double getResult() { return result; } }
JUnit test verze 3.8
Tento unittest kontroluje správnost sčítání a návrat chybové hodnoty při dělení nulou.
package mypackage; import junit.framework.*; public class TestCalculator38 extends TestCase { public void testSum() { Calculator calc = new Calculator(); calc.sum(4.0); calc.sum(7.0); assertEquals(11.0, calc.getResult()); } public void testDivByZero() { Calculator calc = new Calculator(); calc.sum(4.0); calc.divide(0.0); assertTrue(Double.POSITIVE_INFINITY == calc.getResult()); } }
JUnit verze 4
Tento test má stejnou funkcionalitu jako verze 3.8, jeho zápis však nevyžaduje, aby testovací metody začínaly předponou „test“. Syntaxe využívá novinek jazyka Java5 a novějších.
package mypackage; import org.junit.*; import static org.junit.Assert.*; public class TestCalculator4 { @Test public void sum() { Calculator calc = new Calculator(); calc.sum(4.0); calc.sum(7.0); assertEquals(11.0, calc.getResult()); } @Test public void divByZero() { Calculator calc = new Calculator(); calc.sum(4.0); calc.divide(0.0); assertTrue(Double.POSITIVE_INFINITY == calc.getResult()); } }
Spouštění testů
Většina nových verzí vývojových prostředí má integrovanou podporu pro spouštění JUnit testů, je ale možné testy spustit i zvlášť a to buď s textovým nebo grafickým výstupem nebo přímo v programu pomocí příslušných tříd frameworku JUnit.
Související články
Náklady na energie a provoz naší encyklopedie prudce vzrostly. Potřebujeme vaši podporu... Kolik ?? To je na Vás. Náš FIO účet — 2500575897 / 2010 |
---|
Informace o článku.
Článek je převzat z Wikipedie, otevřené encyklopedie, do které přispívají dobrovolníci z celého světa. |