2

我想在我的项目中委托 DateTime.Now 的每个实例。项目需要作为一个整体进行测试,在这种情况下单元测试将无济于事。我想做一些事情,比如将 DateTime.Now 设置为特定时间或从当前日期时间添加/减去分钟,然后让项目中的每个 DateTime.Now 引用获取重定向值。Microsoft Moles 可以做到这一点吗?有没有办法使用鼹鼠仪器运行整个项目?谢谢!

4

1 回答 1

0

您的问题的解决方案是使用依赖注入来存根 System.DateTime 类型。改造 IOC 的时间不应超过 30-60 分钟。您可以重新使用 3rdd 方实用程序,例如 Ninject。但是,最好以正确的方式做事并将其编码。

除非绝对必要(例如 3rd 方 API 等),否则您真的不想使用 Moles 或 Fakes。我保证你未来的自己会派一个终结者机器人回到过去,在令人发指的行为之前暗杀你自己。

于 2012-07-21T18:52:10.277 回答