单元测试时无法修改应用程序设置

时间:2018-06-26 16:32:36

标签: c#

我正在尝试更改Windows应用程序设置中的某些应用程序设置,这些设置将在安装过程中进行设置。我要为单元测试设置的设置。

现在,assemblyinfo文件具有单元测试项目的InternalsVisibleTo。

在“测试方法”中,我可以向下钻取到“ Settings.Default”(要设置的默认项目),然后查看所有设置。但是,例如,当我去:

   dummy.PropertyValues["MySetting"].PropertyValue = "SomeValue";

我得到一个空引用异常。

虚拟设置为:

    var dummy = MyProject.Properties.Settings.Default;

是否可以设置单元测试所需的应用程序设置?

2 个答案:

答案 0 :(得分:1)

这会使任何人感到困惑。 Visual Studio项目中有两个可用设置:一个是ProjectSettings,另一个是Application configuration settings

MyProject.Properties.Settings.Default是您的项目设置。应用程序设置位于System.Configuration.ConfigurationManager.Appsettings下。因此,您可能想将虚拟对象用于“应用程序”设置:

var dummy = System.Configuration.ConfigurationManager.Appsettings;

现在,如果您更新值,它将在当前会话中更新Appsettings集合:

dummy.PropertyValues["MySetting"].PropertyValue = "SomeValue";

答案 1 :(得分:0)

问题似乎出在Visual Studio 2010上。

重新启动它之后,并且由于单元测试已经可以通过assembleyInfo.cs进行访问,因此我能够按照问题中的说明设置属性设置。