首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用moq的Web.conf中的模拟设置

使用moq的Web.conf中的模拟设置
EN

Stack Overflow用户
提问于 2013-07-23 16:54:35
回答 1查看 3.4K关注 0票数 3

我在我的mvc3应用程序中使用VisualStudio.TestTools进行单元测试。文件/Web.conf包含一个自定义配置,它的值是我无法通过ConfigurationManager.AppSettings["DisableCheckboxes"];在我的控制器中获取的"false"

这在生产测试中效果很好,但在单元测试中效果不佳。该值为"null"

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-24 00:51:45

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

创建一个IConfigurationReader接口:

代码语言:javascript
复制
public interface IConfigurationReader
{
   string GetConfigSetting(string settingName);
}

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

它可能看起来有点夸张,但它是一次性的工作,可以在您的应用程序中重用。额外的好处是,如果有一天你决定从其他地方读取配置设置,你只需更改实现,而不会接触到你的消费者。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17805620

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档