gpt4 book ai didi

c# - 运行 NUnit 测试时配置文件错误 (TD.NET)

转载 作者:太空狗 更新时间:2023-10-29 23:26:15 26 4
gpt4 key购买 nike

我有一个组件可以从标准 .NET 配置 (app.config) 文件中读取一些配置。

当我为此组件(使用 TD.NET)运行单元测试 (NUnit) 时,我注意到没有读取配置文件。

检查AppDomain.CurrentDomain.SetupInformation.ConfigurationFile

我注意到它的值设置为 C:\Users\ltal\AppData\Local\Temp\tmp6D2F.tmp(一些临时随机位置)。

发生这种情况是否有原因? (是NUnit的错还是TD.NET的错?)

我想我可以为了测试而自己设置这个 SetupInformation 对象,还没有尝试过,但仍然想知道为什么它是这样创建的而不是默认的。

最佳答案

  • 要解决此问题,您可以在单元测试项目中创建一个 app.config。然后,您的单元测试将调用它来代替主 app.config。然后,您可以在单元测试中更改该 app.config 中的值,从而更轻松地测试不同的值和配置,即您可以在运行测试之前使用特定值设置测试 app.config。

    ConfigurationManager.AppSettings[""] = "";

  • 另一种选择可能是将设置放在主项目的 Settings.setting 文件中。那时您不必更改单元测试项目中的任何内容。关于设置和 app.config 之间差异的一些链接 - MSDN forums , StackOverflow , User Settings - MSDN

  • 当然,第三种选择是通过引入一个接口(interface)并将依赖项注入(inject)组件中,从而从您的组件中删除对 app.config 的依赖性,从而使其易于模拟和单元测试。

关于c# - 运行 NUnit 测试时配置文件错误 (TD.NET),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6047268/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com