我设置单元测试的方式是用户可以运行可执行文件并选择要使用的数据集。此信息存储在app.config中,但是当我在使用Gallio Icarus运行单元测试时尝试访问app.config时,它不起作用。
编辑:
我将字段绑定到Application属性,但是当我调用Properties.Settings.Default.Save();
时,它似乎没有做任何事情。 app.exe.config不会更改,并且更改不会保留。
答案 0 :(得分:3)
嘲笑你如何阅读应用程序配置。
在你的应用中写一个界面&从app.config文件获取数据的类。 在测试中,在虚拟对象上实现接口,每次都会传回已知的输出。
您正在测试的类需要获取一个参数(在ctor或其他上),该参数是实现该接口的对象。
在您的真实代码中,这将是从app.config读取的真实对象。
在测试中它将是虚拟对象。
答案 1 :(得分:2)
app.config
是与程序在启动时读取的MyProgramme.exe.config
文件对应的文件。这可以通过System.Configuration
命名空间和程序集中的Configuration
对象访问。
Properties.Settings.Default
对应于您致电user.config
时程序将生成的文件Properties.Settings.Default.Save()
因此,在测试中包含app.config
文件不会影响Properties.Settings.Default
。
有关详细信息,请参阅Using Settings