시간 의존적 인 방법을 어떻게 테스트하겠습니까?UnitTest 시간 의존적 인 방법
간단한 예는 수 :
public static int GetAge(DateTime birthdate)
{
// ...
}
[TestMethod]
public void GetAgeTest()
{
// This is only ok for year 2013 !
Assert.AreEqual(GetAge(new DateTime(2000, 1, 1)), 13);
}
문제는 (이 경우 2013) 현재 연도에 대해서만 작동한다는 것입니다. 새해가 시작 되 자마자 모든 시간 의존적 인 테스트를 다시 작성해야합니다 ...
단위 테스트에 가장 적합한 방법은 무엇입니까?
Moles가 재미있는 것 같습니다. 여기에 예제가 있습니다. http://stackoverflow.com/questions/5961982/using-moles-with-datetime 불행히도 Moq와 같은 모의 프레임 워크는 라우팅이나 정적 메소드를 지원하지 않습니다./property like'DateTime.Now' – Bidou