我有一个单元测试,它执行以下步骤:
DateTime
属性DateTime
与步骤1的对象上的相同属性进行比较时,偶尔 DateTime.Minutes
属性与获取的实例不同1更高。换句话说,它是使用.Minutes= 23
创建的,但是从数据存储中获取并且发现有.Minutes = 24
。为什么?
我还要补充一点,在DAO<> DTO映射期间,我们将DateTime.Kind
设置为DateTimeKind.Local
。这个动作真的会导致日期的值被修改吗?
我的另一个怀疑是,我在某处读到T-SQL的datetime2
可能会引入舍入差异。
我可以理解,如果我要求数据库在NOW()
字段上执行datetime2
,可能会有所不同,但在这种情况下,日期是在第一步中指定的,不应该是之后发生了变异。
我还能如何安全地测试在对象上设置DateTime
属性,保存对象,然后获取对象并声明属性与我在开始时设置的DateTime
完全相同?