如何对System.IO.FileInfo类...或任何其他没有接口的类进行最小起订量?我正在为我创建的记录器类编写一些单元测试,我想模拟文件类。我找不到创建最小起订量所需的接口...那么如何在没有接口的情况下成功地对类进行最小起订量?我仍然不清楚如何在没有可用接口的情况下使用依赖注入:privateFileInfo_logFile;publicLogEventProcessorTextFile(FileInfologFile){_logFile=logFile;当我真的想做这样的事情时(注意IFileInfo而不是FileInfo):privateIFileInfo_logFile;publicLogEventProcessorTextFile(IFileInfologFile){_logFile=logFile;使用SystemWrapper,这是一个为许多本身不实现接口的.NET类提供接口和可模拟包装器类的库。设计您的代码,以便您访问具有相同功能的接口(例如名为IFileInfo),而不是直接访问FileInfo类。在生产代码中,您将使用一个类,该类将其所有功能简单地委托给系统FileInfo类,但对于单元测试,您可以模拟该接口。例如,在我的基于当前日期表现不同的应用程序中,我声明了以下接口:interfaceIDateTimeProvider{DateTimeToday();}而生产类只是:classDateTimeProvider:IDateTimeProvider{publicDateTimeToday(){returnDateTime.Today;您可以使用依赖注入引擎来补充此方法,以确定在每种情况下应该使用真实类还是模拟类。这可以帮助您简化静态或不可模拟的第三方类的包装类的创建。此工具将为Interface和VisualStudio项目中的任何现有类(例如System.IO)生成具体的包装类。https://www.nuget.org/packages/Digitrish.WrapperGenerator/以上是C#学习教程:HowtoMOQtheSystem.IO.FileInfoclass...oranyotherclasswithoutaninterface?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
