为了测试....历史代码,不能动...有人在函数里用了datetime.Now而没有做成属性.现在要测试,Assert.Equal...但时间是会变的,所以永远Equal不出来所以想看看有什么办法定死这个DateTime.Now

解决方案 »

  1.   

    DateTime dt = Convert.ToDateTime("2005-05-06");
      

  2.   

    String dt=DateTime.Now.ToString("yyyyMMddhhmmss");
      

  3.   

    貌似有几位同学没有听懂我的意思,原始代码我是不能动的,也没有办法传入什么参数我是要让整个系统里每次调用DateTime.Now的时候都返回一个定死的常数
      

  4.   

    测试不一定要Assert.Equal啊,可以这样
    求DateTime.Now于DateTime.Now的TimeSpan
    看看它是不是小于1秒或多少秒
      

  5.   

    只能用不叫办法的办法了,
    这样,你再写个程序,用winform也可以,用个timer,然后在tick的代码中写上设置系统时间为一个固定的值,这样,你每次掉Datetime.now时就固定了
      

  6.   

    而且貌似vista下用time命令改时间也不行,没有权限的
      

  7.   

    不过改时间的确是一个很不错的思路,待我用SetSystemTime()来试试
      

  8.   

    http://blog.csdn.net/jingang123gz/archive/2008/07/14/2649755.aspx如果你不会写设置时间的代码话,请看这个
      

  9.   

    谢谢楼上,我说怎么不对,我把WORD搞成uint了,应该DWORD才是uint,WORD是ushort
    好了搞定.我搞了个类,在改之前记录一下时间,这样一般跳时间,一边加时间,测试结束还能改回去。恩,谢谢