???????????????????????????DateTime?????????????????????д????????????????????????????????Typemock Isolator??Mocking????????????????????????????????????д???


[TestMethod]
public void IsExpired_BeforeExpirationDate_ReturnFalse()
{
    Isolate.WhenCalled(() => DateTime.Now)
        .WillReturn(new DateTime(2000?? 1?? 1));

    ExpirationChecker checker = new ExpirationChecker();
    var result = checker.IsExpired();

    Assert.IsFalse(result);
}
 
???????е??????????????????????????????????????????????????????????????????????????a???????????????????????Щ????????????????????????????

??????????????????????……

??????????????????????????????????????????????????????????????????????????????п??????????????????????????????????????????????Щ???????????????????????????????????????????????????е???????????????????????????????????????ɡ?

??????д????????????????????????д?????????????????????????????????????????????????????????????л????????????????????ò?????????????????????

?????????????????????м??????????????????????????????????Mocking??????.Net???????????????????

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

????????????????????????ò????????????????????????????????????????????????????????д??????????????????д?????????????ЩС?????????????

?????? ??????????????????????д???????????????????????????Bug????????1??????Bug??????????д??????????????????????????????????????????

?????? ?????????????????????????????????????????????????????е?????????μ????????д???????????????????????д??????????а??????????Щ????????“????????”?????????????Michael Feathers??д??????????????????

?????? ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????λ???????Bug??

?????? ??????????????????????????д????????????????ú??????????????????????????????????????????????????????????????????????????????????????????????????????塣

?????? AAA???????????????AAA??——Arrange?????????????Act?????ò???????????Assert??????????????????????????ò?????????????TDD????????????д?????????????????????????????????????????????????????????????????????????????????????????дAct??Assert?????????????????Arrange??????????????????????????????????????????????Щ???????????????????????????????????

?????? ????????????????????????????????????????????????????????????????????????????????????????????DRY?????????????????????????????????????????????????????????е?????????????????????????????????????

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

?????? ???????????????????????????????????????????????????????????????????????????ο??????С???Щ????????????????????????Щ??????????ü????????????????????????????????????????????????????????????????С???????????????e?????????£?????????????????????С????????????????????????.NET????Typemock Isolator??????????????????????????????

???????

???????????????????????????????????????????????——?????????????д??????????????????????????????д????????????????????????????