gpt4 book ai didi

unit-testing - NUnit GUI 未找到 app.config 文件

转载 作者:行者123 更新时间:2023-11-28 20:54:29 25 4
gpt4 key购买 nike

我有一个 ASP.NET MVC 应用程序,我正在使用 NUnit 为其编写测试。当我运行测试时,NUnit GUI 无法找到 app.config。我的 NUnit 测试项目与 app.config 文件的副本位于 bin/debug 文件夹中:

我的 NUnit 项目具有以下设置:

<NUnitProject>
<Settings activeconfig="Default"
processModel="Default"
domainUsage="Default"
appbase="C:\Sandbox\HB2\HB2.UnitTests" />

<Config name="Default"
binpathtype="Auto"
configfile="app.config"
path="C:\Sandbox\HB2\HB2.UnitTests\bin\debug\">

<assembly path="bin\debug\HB2.UnitTests.dll" />

</Config>
</NUnitProject>

从我读过的几篇文章中,我认为 NUnit 应该能够找到 app.config 文件,但事实并非如此。怎么了?

最佳答案

您似乎正在使用 NUnit 项目文件。如果是这样,您将拥有一个类似于 MyTestProject.nunit 的文件。 .当您使用项目文件时,而不是为项目中包含的特定程序集使用默认的 app.config,NUnit 将默认查找与 Nunit 项目文件同名的文件。所以在我的例子中它将是 MyTestProject.config .你没有说你的项目是什么,所以我不能给你一个准确的答案......

它以这种方式工作,因为一旦您开始在项目文件中包含更多程序集,它就会明确使用哪个配置变得很重要。如果您总是要使用来自特定程序集的配置,那么保持两者同步的一种简单方法是设置一个构建后步骤,将配置从该程序集复制到 .config 位置。

如果您在 GUI 中打开单个程序集,而不是使用项目文件,那么它将选择与该 dll 关联的配置(因此在您的示例中为 HB2.UnitTests.dll.config)

当我编辑您的问题时,我注意到您正在设置要在项目文件中使用的配置文件。但是,您将其设置为错误的东西。当您编译生成类库的项目时,app.config 会被编译重命名。正如我上面所说,这通常是 <ouputassembly>.config .因此,您应该在项目文件中更新这一行:

<Config name="Default" binpathtype="Auto" configfile="app.config" 
path="C:\Sandbox\HB2\HB2.UnitTests\bin\debug\">

对此:

<Config name="Default" binpathtype="Auto" configfile="HB2.UnitTests.dll" 
path="C:\Sandbox\HB2\HB2.UnitTests\bin\debug\">

关于unit-testing - NUnit GUI 未找到 app.config 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30856744/

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