c# – 使用moq在Web.conf中进行Mock设置

c# – 使用moq在Web.conf中进行Mock设置,第1张

概述我在我的MVC3应用程序中使用VisualStudio.TestTools进行单元测试.文件/Web.conf包含一个自定义配置,其值为“false”,我无法通过ConfigurationManager.AppSettings [“DisableCheckboxes”]获得我的控制器; 这对生产效果很好,但不适用于单元测试.值为“null”: 如何使用框架Moq来模拟/Web.conf中的设置 我在我的MVC3应用程序中使用VisualStudio.TestTools进行单元测试.文件/Web.conf包含一个自定义配置,其值为“false”,我无法通过ConfigurationManager.AppSettings [“disableCheckBoxes”]获得我的控制器;

这对生产效果很好,但不适用于单元测试.值为“null”:

如何使用框架Moq来模拟/Web.conf中的设置?

解决方法 如果抽象配置文件读取,并将此抽象注入到类中,而不是直接使用ConfigurationManager,则最好.然后,对于您的测试,您可以模拟抽象.

创建IConfigurationReader接口:

public interface IConfigurationReader{   string GetConfigSetting(string settingname);}

真正的实现将使用ConfigurationManager,但对于测试,您可以模拟IConfigurationReader.

它可能看起来有点过分,但它是一次性工作,可以在您的应用程序中重复使用.额外的好处是,如果有一天您决定从其他地方读取配置设置,您只需更改实施,而不是触及您的消费者.

总结

以上是内存溢出为你收集整理的c# – 使用moq在Web.conf中进行Mock设置全部内容,希望文章能够帮你解决c# – 使用moq在Web.conf中进行Mock设置所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1218333.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存