EasyMock - EasyMock
![]() | tento článek obsahuje obsah, který je napsán jako reklama.Srpna 2018) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Vývojáři | Tammo Freese Henri Tremblay |
---|---|
Stabilní uvolnění | 4.0.2 / 30. listopadu 2018[1] |
Úložiště | ![]() |
Napsáno | Jáva |
Operační systém | Cross-platform |
Typ | Testování jednotky nářadí |
Licence | Licence Apache |
webová stránka | easymock |
EasyMock je open-source testovací rámec pro Jáva propuštěn pod Licence Apache.[2] Rámec umožňuje vytvoření test zdvojnásobit předměty za účelem Vývoj řízený testem (TDD) nebo Vývoj založený na chování (BDD).[3]
Výzkum provedený v roce 2013 na 10 000 projektech GitHubu zjistil, že EasyMock je 32. nejoblíbenější knihovnou Java.[4]
Funkce
EasyMock poskytuje dynamicky generované Předstírané předměty (za běhu), aniž byste je museli implementovat. V EasyMock se definice Mock Object liší od použití implementovaného Mock Object. Mock objekty jsou vytvářeny za běhu a pro tyto objekty nelze definovat další implementace.[5]
Původ
EasyMock vytvořil Tammo Freese v roce 2001 (ve společnosti OFFIS). Původně to umožňovalo pouze falešná rozhraní s typově bezpečným zesměšňováním a v pozdějším vývoji byly přidány další funkce. Nejvýznamnější je posměch třídy, který v roce 2003 přidal Henri Tremblay, současný vedoucí vývojář.[6][7]
Používání
EasyMock lze použít v aplikaci s často se měnícími rozhraními.[5]
Příklad
Zde je k dispozici jednoduchý program výměny měn. Rozhraní může vypadat takto:
import java.io.IOException;veřejnost rozhraní Směnný kurz { dvojnásobek getRate(Tětiva inputCurrency, Tětiva měna výstupu) hodí IOException;}
Implementace pro konkrétní třídu může vypadat takto:
import java.io.IOException;veřejnost třída Měna { soukromé Tětiva Jednotky; soukromé dlouho množství; soukromé int centů; veřejnost Měna(dvojnásobek množství, Tětiva kód) { tento.Jednotky = kód; setAmount(množství); } soukromé prázdnota setAmount(dvojnásobek množství) { tento.množství = Nový Dvojnásobek(množství).longValue(); tento.centů = (int) ((množství * 100.0) % 100); } veřejnost Měna toEuros(Směnný kurz konvertor) { -li ("EUR".rovná se(Jednotky)) vrátit se tento; jiný { dvojnásobek vstup = množství + centů/100.0; dvojnásobek hodnotit; Snaž se { hodnotit = konvertor.getRate(Jednotky, "EUR"); dvojnásobek výstup = vstup * hodnotit; vrátit se Nový Měna(výstup, "EUR"); } chytit (IOException např) { vrátit se nula; } } } veřejnost booleovský rovná se(Objekt Ó) { -li (Ó instanceof Měna) { Měna jiný = (Měna) Ó; vrátit se tento.Jednotky.rovná se(jiný.Jednotky) && tento.množství == jiný.množství && tento.centů == jiný.centů; } vrátit se Nepravdivé; } veřejnost Tětiva toString() { vrátit se množství + "." + Matematika.břišní svaly(centů) + " " + Jednotky; }}
Ukázková implementace pro testovací třídu může vypadat takto:
import junit.framework.TestCase;import org.easymock.EasyMock;import java.io.IOException;veřejnost třída CurrencyTest rozšiřuje Modelový případ { veřejnost prázdnota testToEuros() hodí IOException { Měna testObject = Nový Měna(2.50, "AMERICKÝ DOLAR"); Měna očekávaný = Nový Měna(3.75, "EUR"); Směnný kurz falešný = EasyMock.createMock(Směnný kurz.třída); EasyMock.očekávat(falešný.getRate("AMERICKÝ DOLAR", "EUR")).a zpět(1.5); EasyMock.Přehrát(falešný); Měna aktuální = testObject.toEuros(falešný); assertEquals(očekávaný, aktuální); }}
Viz také
- Vývoj založený na chování
- Předstíraný objekt
- Seznam rámců testování jednotek
- Testování softwaru
- Testování jednotky
Reference
- ^ EasyMock zprávy
- ^ „Licence EasyMock“. EasyMock. EasyMock. Citováno 11. ledna 2015.
- ^ A b C d Harold, E.R. (28. dubna 2008). „Snadnější testování pomocí EasyMock“. IBM. International Business Machines Corporation. Citováno 11. ledna 2015.
- ^ Weiss, Tal (26. listopadu 2013). „10 000 nejoblíbenějších projektů Java v GitHubu - zde jsou nejlepší knihovny, které používají“. Citováno 11. ledna 2015.
- ^ A b Freese, T., EasyMock: Dynamické simulované objekty pro JUnit, Oldenburg, Německo: Institute for Computer Science
- ^ „Přispěvatelé“. EasyMock. EasyMock. Citováno 11. ledna 2015.
- ^ Lüppken, S .; Stũble, M .; Stauble, M. (2009). Jarní vývoj webu 2. Olton, Velká Británie: Packt Publishing. p. 191.