????????????????????????????棬????????????????????ó?????????????????????????????????ó???????????????????????????????1?????????
??????????????????????????????????????????????????????????????????У?????????????????????????????????????????????????????????????????????????????????
????????????????????
??????????????????????????????????????????????????????????????????????д????С??????????£????JUnit??TestNG????????????????????????????????д????????????С?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????Web???????????????????????????????????????????????????????
?????????????????????????????淶???б?????????????????????????????????????????????????????????????????????С?????????????淶??д?????????????????????б????????????????????????????????Selenium??QTP??
?????????????????????????????????????????????????????????????У????????Java?е????????????????
????1.?????????????????
????Java?????????????????????TestNG??JUnit?????е???????JUnit??TestNG???Щ????????
????· ???????ú????С?
????· ???????
????· ??????????鰱???????Щ?????
????· ???????????????????????????????????????е???????
????· ??????????????Ant??Maven??Gradle?????????????????????С?
????EasyMock????????????????????????JUnit??TestNG?????EasyMock????????????????????????????????????????????????????????磬???????????????????????????????????????DAO????????????£?EasyMock???????????????????????MockDAO????????????????????????????????????????????????????
????2.??????ò?????????????
??????????????????TDD???????????????????????????У??????κα??????????????????????д????????????б?????????????????д??С?????????????????????????????????????
??????????д???????????????????????????д???????????????????????????TDD?????????????????????黯??????????????????忪?????????????????????????????????????TDD????????????
?????????TDD???????????е???????????????????У????????????????????????????????????????????????????????????TDD??????????????????????GUI??ó????????????????????ó??????????????????????????????????????
?????????????????TDD?????????????????????????????????????????????
????3.????????????
?????????????????????????????????е?????????е???????????????????????????δ???????????????????????????????????????б???С???????????????Щ????????????
??????????????????Clover??Corbetura??JaCoCo??Sonar????ù???????????????????????Щ??????????δ?????????????????????????????????????????????Щ????
????· ???д???1??????????д?μ????????
????· ????в??????????????????з??????if / else???
??????????????????????????????????С???
????????? concat ????????????????????????????????true???????????????????
????public String concat(boolean append?? String a??String b) {
????String result = null;
????If (append) {
????result = a + b;
????}
????return result.toLowerCase();
????}
?????????????????????????????
????@Test
????public void testStringUtil() {
????String result = stringUtil.concat(true?? "Hello "?? "World"); System.out.println("Result is "+result);
????}
??????????????£???в??????true??????????????????????????????????????????????????????????????? concat ?????е????д???????С???????????????е???false??????? NullPointerException ?????????????????????????????????????г????????????????????á?
????4.???????????????????
??????JUnit4????????????????е??????????????????????С?????????????????ò???????????в????????????????????????????JUnit4???TestNG?????????????????????????????????????в???????????????????????
????????? MathChecker ???з???????????????????????????
????public class MathChecker {
????public Boolean isOdd(int n) {
????if (n%2 != 0) {
????return true;
????} else {
????return false;
????}
????}
????}
??????????MathChecker???TestNG??????????
????public class MathCheckerTest {
????private MathChecker checker;
????@BeforeMethod
????public void beforeMethod() {
????checker = new MathChecker();
????}
????@Test
????@Parameters("num") public void isOdd(int num) { System.out.println("Running test for "+num); Boolean result = checker.isOdd(num); Assert.assertEquals(result?? new Boolean(true));
????}
????}