Array ( [0] => 15513812 [id] => 15513812 [1] => cswiki [site] => cswiki [2] => JUnit [uri] => JUnit [3] => [img] => [4] => [day_avg] => [5] => [day_diff] => [6] => [day_last] => [7] => [day_prev_last] => [8] => [oai] => [9] => [is_good] => [10] => [object_type] => [11] => 1 [has_content] => 1 [12] => [oai_cs_optimisticky] => ) Array ( [0] => {{Infobox - software [1] => | jméno = JUnit [2] => | logo = [3] => | velikost loga = [4] => | obrázek = [5] => | velikost obrázku = [6] => | alt = [7] => | vývojář = [[Kent Beck]], [[Erich Gamma]], [[David Saff]] [8] => | operační systém = [[Cross-platform]] [9] => | typ softwaru = [[unit testing|Jednotkové testy]] [10] => | licence = [[Common Public License]] [11] => | web = [http://junit.org junit.org] [12] => }} [13] => '''JUnit''' je framework pro [[unit testing|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]]. [14] => [15] => == Použití == [16] => Jednotkové testy jsou základním kamenem vývojových technik [[Programování řízené testy|test-driven development]] a [[extrémní programování|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 Sharp|C#]] ([[NUnit]]), [[Python]] ([[PyUnit]]), [[Fortran]] ([[fUnit]]), [[Perl]] ([http://search.cpan.org/~adie/Test-Class-0.24/lib/Test/Class.pm Test::Class] a [http://search.cpan.org/~mcast/Test-Unit-0.25/lib/Test/Unit.pm Test::Unit]) a [[C++]] ([[CPPUnit]]). Tato rodina frameworků pro jednotkové testy byla pojmenována [[xUnit]]. [17] => [18] => == Příklad == [19] => 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, 4 a 5. [20] => [21] => [22] => package mypackage; [23] => [24] => public class Calculator { [25] => private double result = 0.0; [26] => [27] => public void sum(double sum) { [28] => result += sum; [29] => } [30] => [31] => public void divide(double divide) { [32] => result /= divide; [33] => } [34] => [35] => public double getResult() { [36] => return result; [37] => } [38] => } [39] => [40] => [41] => === JUnit verze 3.8 === [42] => Tento unittest kontroluje správnost sčítání a návrat chybové hodnoty při dělení nulou. [43] => [44] => [45] => package mypackage; [46] => [47] => import junit.framework.*; [48] => [49] => public class TestCalculator38 extends TestCase { [50] => public void testSum() { [51] => Calculator calc = new Calculator(); [52] => calc.sum(4.0); [53] => calc.sum(7.0); [54] => assertEquals(11.0, calc.getResult()); [55] => } [56] => [57] => public void testDivByZero() { [58] => Calculator calc = new Calculator(); [59] => calc.sum(4.0); [60] => calc.divide(0.0); [61] => assertTrue(Double.POSITIVE_INFINITY == calc.getResult()); [62] => } [63] => } [64] => [65] => [66] => === JUnit verze 4 === [67] => Tento test má stejnou funkcionalitu jako verze 3.8, jeho zápis však nevyžaduje, aby testovací metody začínaly předponou „test“. [68] => Syntaxe využívá novinek jazyka Java5 a novějších. [69] => [70] => [71] => package mypackage; [72] => [73] => import org.junit.*; [74] => import static org.junit.Assert.*; [75] => [76] => public class TestCalculator4 { [77] => @Test [78] => public void sum() { [79] => Calculator calc = new Calculator(); [80] => calc.sum(4.0); [81] => calc.sum(7.0); [82] => assertEquals(11.0, calc.getResult()); [83] => } [84] => [85] => @Test [86] => public void divByZero() { [87] => Calculator calc = new Calculator(); [88] => calc.sum(4.0); [89] => calc.divide(0.0); [90] => assertTrue(Double.POSITIVE_INFINITY == calc.getResult()); [91] => } [92] => } [93] => [94] => [95] => === JUnit verze 5 === [96] => Tento test vychází z příkladu k verzi 4 s těmito rozdíly (pro JUnit 5): [97] => * všechny třídy frameworku JUnit jsou umístěny do nového package org.junit.jupiter.api [98] => * anotace @Test již nevyžaduje public metody a nemá žádné atributy (původní atributy expected a timout je řešeno modelem rozšíření) [99] => * používá se Java8 [100] => [101] => package mypackage; [102] => [103] => import org.junit.jupiter.api.*; [104] => import static org.junit.jupiter.api.Assertions.*; [105] => [106] => public class TestCalculator5 { [107] => [108] => @Test [109] => void sum() { [110] => Calculator calc = new Calculator(); [111] => calc.sum(4.0); [112] => calc.sum(7.0); [113] => assertEquals(11.0, calc.getResult(), () -> "Calculation error"); [114] => } [115] => [116] => @Test [117] => void divByZero() { [118] => Calculator calc = new Calculator(); [119] => calc.sum(4.0); [120] => calc.divide(0.0); [121] => assertTrue(Double.POSITIVE_INFINITY == calc.getResult()); [122] => } [123] => } [124] => [125] => [126] => == Spouštění testů == [127] => 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. [128] => [129] => == Související články == [130] => * [[Unit testing]] [131] => * [[Java (platforma)|Platforma Java]] [132] => * [[Extrémní programování]] [133] => * [[Testování softwaru]] [134] => [135] => [[Kategorie:Testování softwaru]] [136] => [[Kategorie:Java]] [] => )
good wiki

JUnit

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.

More about us

About

Expert Team

Vivamus eget neque lacus. Pellentesque egauris ex.

Award winning agency

Lorem ipsum, dolor sit amet consectetur elitorceat .

10 Year Exp.

Pellen tesque eget, mauris lorem iupsum neque lacus.

You might be interested in

,'xUnit','unit testing','Erich Gamma','Kent Beck','Python','Cross-platform','David Saff','Kategorie:Testování softwaru','Extrémní programování','Unit testing','SUnit','Smalltalk'