Microsoft Fakes是一个可以生成假组件并利用.NET Profiler API在运行时调用备用委托的工具,它允许我们替换对我们通常无法调用的事物的调用,即System.DateTime.Now
调用可以是设置为始终返回特定的DateTime。
不幸的是,Microsoft Fakes不适用于NETStandard或NETCore程序集。我想知道是否有任何.NET API可以让我模拟Microsoft Fakes所做的事情,并有选择地将System.DateTime.Now
的调用路由到自定义委托或运行时的原始方法。
我知道如何重新设计应用程序以最大限度地减少对类似Microsoft Fakes的需求。事实上,我们使用的应用程序使用依赖注入很多,但我们选择通过创建DateTime
,HttpClient
等框架类的包装来避免过度使用。我们实际上只有4个未经完全单元测试的类,因为我们无法隔离这些框架类。
请注意直接回答此问题的评论/答案。没有解决方法或替代方案。