????1. ???
???????????????У????????????????????????????絥???????????????????????????? .etc???????????????????С??????????????????????????????????????????Щ???????????????????????????Щ??????????С?飬???Щ???????′??????????????е??????
??????????????????????????????????????????????????????????????????????????У????????У?????????????????????????????????????????????????????????????С????????????????????????????????????????淶????Ч?????????Bug???????????к???????????????????????????????????????????Щ??????????????????????????????????鷳??????????????????Щ??????????????????????????????????????????????
????????????TDD?????????????????????????????????????????????????????????????????????????????????????????Ч?????????????????к??????????????????????????????????????????????????????????????????????????????Щ???????????????.NET???????????е??????ɡ?
????2. ???????????
?????????????3W+1H?????????????и??????????
????2.1 ???????????WHAT??
????????????????????????????????Щ????——???????
??????????????????????????????Unit Testing????????????? ??????????饗???????С??λ????????????????????????????????????С??????????????????????У?С???????????????????????????????????????е????????????????????????????ж????????????????????????????????????????????????e??????????
????????????????????ó??????????????С????????????????????????????????????????????????????????????????????????????????????????????????????????????????д????????????????????????????????????飬??????????????????????顣
????2.2 ?????????????WHY??
????????????????????????????????——????
????????????????????????????????????????????????????????????????????????????в???????????????????????????????????????????????????????????????????????????????????????????б??????????????????????????????????????????????????????????bug???????????????????????????????????????????????????????????????????????????????????????????????????ɡ?
??????????????????????????????????????Щ?????????????????????г???????????????????ο?
????2.2.1 ?????λ
??????????????????????????????λ?????е??????????????????????????е????????в?????????????????緢?????????????????????????????????????????????????
????2.2.2 ??????
?????????????????????????????????????????????е??????????в???????????????????????????д?????api????????????????????????????????????????????????
????2.2.3 ??????
????????????????????????????????????????????????????????????????????????????к??????????д??????????????????????????У???????????????????Σ???????????????????????????κα???????????г????????????????????????????????????????
????2.2.4 ?淶???
???????е????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????У???????????????????????????????????????
????2.3 ???????????е???????WHEN??
?????硣——3?
????????????????????????????????????????????????bug???????????????????????????????????????????????????????????????????????????????Σ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????в????????????“??д?????????鷳???????????”?????????????????????????????????????debug??bug?????????????????????????????????????????????á?
????????????????????д?????????????????????????????????????????У?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????2.4 ?????????Ч?????????HOW??
?????????????????????Ч???????????????????????????д??Щ???????????????????????
????Arrange ?????????Щ????????????????????????????
????Act???? ???????????????в????
????Assert ???????????????????????л????????????????
????????????????????????????ó?????????????????????и??????????????????????????????????????????????????????????????????????????????
?????????????DDD?????????У???????????????IAPPService??IRepository?????IDomainService??????????????????????????????????????????????????????????????????????????????????????????????ν?????????±???????????.NET ???????????????????????????н???XUnit??NSubstitute?????????е????????????