??????????д???????????????????????????????????????????????unit testing??

??????????????????????class??function??method?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????Kent Beck??Erich Gamma??

????Kent Beck??90??????Smalltalk??????????????д??SUnit??????Smalltalkд?????Smalltalk????????????????????????????????Erich GammaЯ???????JUnit??JUnit????Javaд?????????Java??????????????JUnit?????????xUnit???????????????????????????Python??unittest????PHP??PHPUnit????NUnit??.Net??????C#??VB.net?????

????xUnit??????????·?????????Arrange-Act-Assert??

????1??????????????????????????????????mock????mock?????????????????????????????????????????????????????API???????????????????mock?????檔???????Arrange???趨???????

????2??????????????function/method/class???????????????Act??

????3??????????????????????????????????Assert.

??????????????????????????????????????????????????????????????xUnit????????????????????????????????????????

????1???????

?????????xUnit???????????ν??test harness??????????????????????????????????xUnit?淶д?????????????????????????????????????????????????????????????????????????

????2???????

???????????????????xUnit?????????????д??????????????????????????copy/paste/adjust??д????????????????????????????????????????Щ???????????????????????????????????????·??????????????????????????????????Ч????????????????????????????????strike while the iron is hot??????ó??????????????????????????У?????о???????????????Щ??

??????????????????????????????????????????????????????????????????????????????????????????????????

??????????????????????????????????????????????????????????????????????????ū?ò??????????????????????????????????????????

????1?????????????????????????xUnit?????????????дPHP???????????PHPUnit????????Python???????2.7??????????????????unittest???????????????????nose????????????harness?????????????????????????????????????????????xUnit??????????????

????2????????????д?????????????????Ч????????????????tutorial??how to??????????

????3???????????????????function/method/classд?????????????????????????????????????δ??????????????????????????

????4?????????????????????????????????????

????5????copy??paste??д?????????????????????????????????μ??????????????????漸????????????????????????????????????????????а?????

????6??????????????/integration test?????????/quality assurance???????????????з??????function/method/class?????????????????д?????????????????????????????????????????ò????????????????????????????Щ??

????????????????????????????????????????д??????????????????????????????????????????????????????????????????????????????????????????????????

?????????д??????????????????????дintegration testing??continuous integration testing?????????д??μ???????????????Python????????????????????????????????д裬????????

???????Perl??TAP??Test Anything Protocol??????????????????1987??????Perl????淢??????????????????????????SUnit??xUnit????????10???????????????CPAN?????????鶼??????Test????More?????TAP???????????????????????Perl???????????????????????????楨???????μ??????????????????????Perl??????????????????Test????More??????Test????Harness??顣