EasyMock - EasyMock

EasyMock
Tuzuvchi (lar)Tammo Freese Anri Tremblay
Barqaror chiqish
4.0.2 / 2018 yil 30-noyabr; 23 oy oldin (2018-11-30)[1]
Ombor Buni Vikidatada tahrirlash
YozilganJava
Operatsion tizimO'zaro faoliyat platforma
TuriBirlik sinovi vosita
LitsenziyaApache litsenziyasi
Veb-sayteasymock.org

EasyMock bu ochiq manbali sinov doirasi uchun Java ostida chiqarilgan Apache litsenziyasi.[2] Ushbu ramka yaratishga imkon beradi sinov ikki barobar maqsadlari uchun ob'ektlar Sinovga asoslangan rivojlanish (TDD) yoki Xulq-atvorni rivojlantirish (BDD).[3]

2013 yilda 10,000 GitHub loyihalari bo'yicha olib borilgan tadqiqotlar shuni aniqladiki, EasyMock 32-chi eng mashhur Java kutubxonasidir.[4]

Xususiyatlari

EasyMock dinamik ravishda ishlab chiqariladi Ob'ektlarni soxtalashtirish (ish vaqtida), ularni amalga oshirishga hojat qoldirmasdan. EasyMock-da Mock Object ta'rifi amalga oshirilgan Mock Object-dan farq qiladi. Soxta ob'ektlar ishlash vaqtida quriladi va ushbu ob'ektlar uchun qo'shimcha dasturlarni aniqlab bo'lmaydi.[5]

Kelib chiqishi

EasyMock 2001 yilda Tammo Freese tomonidan yaratilgan (OFFIS da). Dastlab, bu faqat xavfsiz masxara bilan soxta interfeyslarga ruxsat bergan va keyingi ishlanmalarda qo'shimcha funktsiyalar qo'shilgan. Eng muhimi, sinfni masxara qilish 2003 yilda hozirgi etakchi ishlab chiqaruvchi Anri Tremblay tomonidan qo'shilgan.[6][7]

Foydalanish

EasyMock tez-tez o'zgarib turadigan interfeyslarga ega dasturda ishlatilishi mumkin.[5]

Misol

Bu erda oddiy valyuta almashinuvi dasturi taqdim etilgan bo'lib, interfeys quyidagicha ko'rinishi mumkin:

Import java.io.IOException;jamoat interfeys Valyuta kursi {    ikki baravar getRate(Ip kiritishValyuta, Ip chiqishValyuta) uloqtiradi IOException;}

[3]

Beton sinfni amalga oshirish quyidagicha ko'rinishi mumkin:

Import java.io.IOException;jamoat sinf Valyuta {    xususiy Ip birliklar;    xususiy uzoq miqdori;    xususiy int sent;    jamoat Valyuta(ikki baravar miqdori, Ip kod) {        bu.birliklar = kod;        setAmount(miqdori);    }    xususiy bekor setAmount(ikki baravar miqdori) {        bu.miqdori = yangi Ikki marta(miqdori).uzoq qiymat();        bu.sent = (int) ((miqdori * 100.0) % 100);    }    jamoat Valyuta Evro(Valyuta kursi konvertor) {        agar ("YEVRO".teng(birliklar)) qaytish bu;        boshqa {            ikki baravar kiritish = miqdori + sent/100.0;            ikki baravar stavka;            harakat qilib ko'ring {                stavka = konvertor.getRate(birliklar, "YEVRO");                ikki baravar chiqish = kiritish * stavka;                qaytish yangi Valyuta(chiqish, "YEVRO");            } ushlamoq (IOException sobiq) {                qaytish bekor;            }        }    }    jamoat mantiqiy teng(Ob'ekt o) {        agar (o instanceof Valyuta) {            Valyuta boshqa = (Valyuta) o;            qaytish bu.birliklar.teng(boshqa.birliklar)                    && bu.miqdori == boshqa.miqdori                    && bu.sent == boshqa.sent;        }        qaytish yolg'on;    }    jamoat Ip toString() {        qaytish miqdori + "." + Matematika.abs(sent) + " " + birliklar;    }}

[3]

Sinov sinfi uchun namunaviy dastur quyidagicha ko'rinishi mumkin:

Import junit.framework.TestCase;Import org.easymock.EasyMock;Import java.io.IOException;jamoat sinf Valyuta sinovi uzaytiradi TestCase {    jamoat bekor testToEuros() uloqtiradi IOException {        Valyuta testObject = yangi Valyuta(2.50, "USD");        Valyuta kutilgan = yangi Valyuta(3.75, "YEVRO");        Valyuta kursi masxara qilish = EasyMock.createMock(Valyuta kursi.sinf);        EasyMock.kutmoq(masxara qilish.getRate("USD", "YEVRO")).va Qaytish(1.5);        EasyMock.takrorlash(masxara qilish);        Valyuta haqiqiy = testObject.Evro(masxara qilish);        assertEquals(kutilgan, haqiqiy);    }}

[3]

Shuningdek qarang

Adabiyotlar

  1. ^ EasyMock nashrlari
  2. ^ "EasyMock litsenziyasi". EasyMock. EasyMock. Olingan 11 yanvar 2015.
  3. ^ a b v d Xarold, ER (28 aprel 2008). "EasyMock yordamida osonroq sinov". IBM. Xalqaro biznes mashinalari korporatsiyasi. Olingan 11 yanvar 2015.
  4. ^ Vayss, Tal (26 noyabr 2013). "GitHub-ning eng mashhur 10 000 ta Java loyihasi - bu erda ular foydalanadigan eng yaxshi kutubxonalar". Olingan 11 yanvar 2015.
  5. ^ a b Friz, T., EasyMock: JUnit uchun Dynamic Mock Objects, Oldenburg, Germaniya: Kompyuter fanlari instituti
  6. ^ "Xissadorlar". EasyMock. EasyMock. Olingan 11 yanvar 2015.
  7. ^ Lyupken, S .; Stble, M .; Stauble, M. (2009). Spring Web Flow 2 veb-ishlab chiqish. Olton, Buyuk Britaniya: Packt nashriyoti. p. 191.

Tashqi havolalar