????????????о??????г????? Android ?????????????????????????????????????п???????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????
????Java Tests
????JUnit

????JUnit ????? xUnit ??????????????????????1998???? SmallTalk ?????? SUnit?????????????????? Java ??????????????
????JUnit ?? Android ???????????????????? Android ?????????????????????????? mock ???????????????Щ????????????
??????????????????????????????? JUnit ?? TestNG ???????????????о?????? JUnit ???Щ?????????? TestNG ??????У?
????TestNG
????TestNG ???????????????Cédric Beust???? JUnit ???????????? JUnit ?????д???? ???? ?? ???? ???????????????????
????TestNG ?? JUnit ????????????????棺
?????? JUnit ?У????????????е??????????????????????????????????????????????????β????????????????ò????????乲???Щ????ò?????
???????? JUnit ??????1????????????—— TestSetup ???????????????????????????JUnit ?? TestSetup ??????????????????????????? JUnit ??????????????????????????????
??????????TestNG ?????????????°汾?? JUnit ?????????????????????α????????2004?????????????θ?????2015??12????????TestNG ?????????????????????????? JUnit?????????????? JUnit ??????????
????Mockito
????Mockito ?????? EasyMock ???????????????????μ??????????? EasyMock ?????2015????????
????Mockito ????????????????????
????????????????????????????
????????????????
????Java ?????????????????????????
????Features And Motivations
??????????????????????????y???“????”??????????????????????????“????”?? What are the limitations of Mockito
??????????Щ???????? PowerMock ????????????????????? PowerMock ???Java ??????????????????????
????jMock
????jMock ??????????? mock ????
??????2008?????????μ? 2.6.0-RC1 ??????????2012?????? 2.6.0-released ?汾????????????????????4??????????汾??????????????????ɡ?
????PowerMock
????PowerMock ????????????????? mock ????????????Mockito ?? PowerMock ?????????????????????????????????汾???????????????????
??????????? CGLib????????????????????? mock ??????????????????????? PowerMock ????????????????????????????飺?????????з???????
??????????????????λ????ο????????????????????????????????????????? gradle ?????? PowerMock ?????????????????????????????????????? Mockito ???????????????? PowerMock ??????????????汾??????????????????? Mockito???????? PowerMock ??????汾??
????JMockit
????JMockit ??2014????????? commit????????????????????3??????????? Github ???濴??????????????????????????????????????????????????????????
?????о? Android ???????ü?????????????????????????
????????????????????? PowerMock????????????????????????????????? when/thenReturn ??????????????????????
???????????? JMockit ????????飬?????? Mockito&PowerMock ??????
????Android Test
????Robolectric
????Robolectric ??д????? Android SDK ?????????? JVM ????? Android ????????????
???????? ??? ?е???????Shadow class ?????????????? Android OS ?μ????????????????? shadow ???????????? Mockito ?? mock ????????????????????????? Mockito ??????????á?
???????????????????? Mockito???????????????????????????? Mockito ????? Robolectric ????????????????????? Android SDK ???Щ native ????????? mock ????????????????? Robolectric ?????????
????Espresso & UI Automator
????Espresso & UI Automator ?????????? Google ???????? UI ??????????????????????в???????????????в?????
???????????????????????????Щ??????
????Espresso?????????е?????? UI ????
????UI Automator?????????????????????ù????? UI ?????
?????????????????漰????????????????????о????????????????????????????á?
????Others
????Hamcrest

????Hamcrest ????????????? Assertion ?? API ?????????