????????????????????????????????????????????Visual Unit???а?????
?????????????????
??????????????????????????????????????в???????????????
????????????????????????????д????????????????????????????????£??????????????????????????????Щ??????絯??????????????????????????????????????????????????????????????????????????????????????????????????????????????70%?????????δ?????????????????????С???????Щ?????????????BUG?????????????????????????????????????????????????????????????????????????г????????????????????????????????????????·??
??????????????????????????????д???????е???????????????????д?????????????????????????????
????????г???????????????д?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????λ????????????????????????????????????????????????λ?????????????????????????????????в??????????????????????????????????????????????????????????????????????????Ч??????????
?????????????????????????(???к???)???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????й????????C++?????????????????????????????????????????????????д????????????????б?д(inline????)??????????????д?????????????в???(????????????????????)??
????????????????????????????絽??????XP???????????TDD?????????????????????д???????????п???????????????У????????????????????????????????Ч??о?????????????????????????д????????????????д????????????????????????д??????????????д?????????????д???????????в??????????????????????ν???д??????????????????д????????????з?????????????????????????????д?????????????????????????????????????????????????????д????????????????????????С??
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
???????????????????????????????????д?????????????????????Щ???????????磬????????????????????????δ??д????????????д???????????????????????????????????????????????????????????п?????????????????????????????????д????????????????У???????????????????????????????2??????????????2?????????????????????????????????????????????
????????????????д
?????????????????????????????Java???????????C++????????????????????????????????C++?????????????????????????????????VC6.0??
?????????
????class CMyClass
????{
????public:
????int Add(int i??int j);
????CMyClass();
????virtual~CMyClass();
????private:
????int mAge;//????
????CString mPhase;//?????Σ???"????"??"????"
????};
??????????????????CMyClassTester??????????????г??????????
????void CMyClassTester::CaseBegin()
????{
????//pObj??CMyClassTester??????????????????????????????
????//?????????е????????????pObj?????????????????
????pObj=new CMyClass();
????}
????void CMyClassTester::CaseEnd()
????{
????delete pObj;
????}
??????????????CaseBegin()??CaseEnd()????????????????????????????????????????CaseBegin()????β???????CaseEnd()??
????????????????????????????????
????int CMyClass::Add(int i??int j)
????{
????return i+j;
????}
??????????????????
????void CMyClassTester::Add_int_int()
????{
????}
?????????????????????????????????????????????????????????????????????????????????????????????
????void CMyClassTester::Add_int_int()
????{
????//?????????????
????CaseBegin();{//1
????int i=0;//2
????int j=0;//3
????int ret=pObj->Add(i??j);//4
????ASSERT(ret==0);//5
????}CaseEnd();//6
????}
??????1???6?н??????????????????????{}????????????????????????????????????????????????????????????????
??????2???3??????????????????4???????????????????Щ???????????????????????5????????????????????????????????????????????????ASSERT??VC?????????????????????????????ò????????е????????????????ù???????????
????????е?????ú?????2??????4??5?п????д???У?ASSERT(pObj->Add(0??0)==0);???????????????????????????????????????????????????????????????????к????????????????????????????????????飺?????????????????????顣
????????????????????????????????в????????????????????????/??????????????????????????????????????????????????С?????????????????????????/??????????????????????????
????????????????
?????????????????????????????????????????????????????????????????????????????????????????????????????????Щ????????????????????????????????????????????????????????????????????????Щ?????????????????????????????????IOy?塣IOy????????????????????????????????y?壬???磬?????????????????????????????????????????????е??????????????????????????????????????????????????????????????д???????????????????????????????д???????????????????????????????????????????д?????????(???????)???????????????????IOy?壬????????????????????????????????????????趨????????????б??????????????ж??????????????????????????????????й???????
?????????????
????void CMyClass::Grow(int years)
????{
????mAge+=years;
????if(mAge<10)
????mPhase="???";
????else if(mAge<20)
????mPhase="????";
????else if(mAge<45)
????mPhase="????";
????else if(mAge<60)
????mPhase="????";
????else
????mPhase="????";
????}
????????????е??????????????
????CaseBegin();{
????int years=1;
????pObj->mAge=8;
????pObj->Grow(years);
????ASSERT(pObj->mAge==9);
????ASSERT(pObj->mPhase=="???");
????}CaseEnd();