当从命令行运行时,NUnit看不到configSource定义的连接字符串

本文关键字:定义 configSource 连接 字符串 看不到 NUnit 命令行 运行时 | 更新日期: 2023-09-27 18:06:06

我有一个在我的Jenkins构建服务器上运行自动测试的问题,因为我使用<connectionStrings configSource="connectionStrings.config"/>将连接字符串从配置文件移动到搜索文件

当我在VS2013中从Jenkins工作区打开项目并运行测试时,一切都工作正常。当我尝试使用命令

将测试作为构建作业的一部分运行时
"C:'Program Files (x86)'NUnit 2.6.4'bin'nunit-console.exe" Path'To'Project'ProjectName.Tests.csproj /xml=TestResults.xml 

我得到错误在控制台说:

Test Error : ProjectName.Tests.TestClass.TestIfSomethingWorks
   System.InvalidOperationException : No connection string named 'ConnectionStringName' could be found in the application config file.

当然,app.config文件和connectionStrings.config文件都在测试项目和解决方案中使用这些连接字符串的项目的根文件夹中。

我做错了什么吗?如何解决这个问题?

当从命令行运行时,NUnit看不到configSource定义的连接字符串

我相信正在发生的事情是,当您将nunit-console.exe指向csproj文件时,它能够找到您的测试程序集,但它无法找到配置文件,因为它在不同的工作目录中运行。您应该能够通过将NUnit指向测试程序集DLL来解决这个问题。像这样:

"C:'Program Files (x86)'NUnit 2.6.4'bin'nunit-console.exe" Path'To'Project'ProjectName.Tests'bin'Debug'ProjectName.Tests.dll /xml=TestResults.xml 

试试吧,祝你好运!