操作app.config文件进行单元测试

Fun*_*der 6 .net c# nunit

我在一个名为Tests.dll的程序集中为我的C#app隔离了NUnit测试.关联的配置文件名为Tests.dll.config.这是Nunit使用的,而不是我的应用程序的实际配置文件.它看起来像这样(只显示了几个配置选项还有更多):

<?xml version="1.0" encoding="utf-8"?>

<configuration>
  <appSettings>
    <add key="useHostsFile" value="true" />
    <add key="importFile" value="true" />

   </appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

为确保我的应用程序经过全面测试,我需要在测试之间更改配置选项.在我运行了几个测试之后,我想在文件中添加一些新的配置值,并将这些值用于后续测试.我需要添加什么代码呢?

Nic*_*ckD 4

我建议实现一个具有 useHostsFile 和 importFile 属性的接口 IConfig。然后,我将删除对此文件的所有直接依赖项,但实现 IConfig 的 ConfigDefault 类除外。在此实现中,您加载正常的配置文件。对于每个测试,您可以实现另一个也继承自 IConfig 的类。我建议使用依赖注入。Ninject 是免费且易于使用的。