c# - 如何配置我的设置文件以使用单元测试?

标签 c# .net nunit app-config

我有一个正在为其编写单元测试的库。该库由两个应用程序使用:一个是 Windows 服务,另一个是执行某些注册表读写操作的命令行应用程序。每个都有一个略有不同的 App.config 文件,该文件在启动时从库加载。例如:

    public RetentionService()
    {
        SettingHive = new Hive();
        TimingService = new RetentionTimingService(SettingHive);

        AppSettingsReader asr = new AppSettingsReader();
        object appsListObj = asr.GetValue(@"blocking-process-list", Type.GetType(@"System.String"));
        string appsList = appsListObj.ToString();
        _BlockingAppNames = RetentionService.ListFromList(appsList);

        string targetList = asr.GetValue(@"target-files", Type.GetType(@"System.String")).ToString();
        _TargetLogs = RetentionService.ListFromList(targetList);
    }

当我尝试在单元测试中使用此库时,它无法加载,因为加载该库的应用程序(可能是 nunit)没有带有适当键的 *.exe.config 文件。

有什么更好的方法可以做到这一点?我希望库从生产中的每个应用程序的 *.exe.config 加载设置,但如果运行单元测试,则从第三个位置加载设置。

最佳答案

或者,只需将包含相关信息的 app.config 文件添加到您的单元测试项目中即可。

关于c# - 如何配置我的设置文件以使用单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/632297/

相关文章:

c# - 使用 default 关键字的枚举的默认值?

c# - 在 UDP 服务器中接收数据包时连接重置

c# - 如何在通用文本 block 中显示所有验证错误消息

C# 到 Java : Base64String, MemoryStream、GZipStream

.net - 同一事务中的并发数据库 (PostgreSQL) 命令

c# - 调用选择文件对话框时出现 NullReferenceException 错误

testing - 如何开始构建使用 TypeMock ?

c# - 在文件阅读单词生成器上进行 TDD 的正确方法

.net - 如何在不耗尽所有系统内存的情况下使 .NET 进程耗尽内存

c# - Azure 函数从表中读取