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

时间:2015-08-03 09:11:07

标签: c# asp.net-mvc-4 jenkins nunit nunit-console

我在Jenkins构建服务器上运行自动化测试时遇到问题,因为我使用<connectionStrings configSource="connectionStrings.config"/>

将连接字符串从配置文件移动到海量文件

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

将测试作为构建作业的一部分运行时
"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文件都位于测试项目的根文件夹中,以及解决方案中使用这些连接字符串的项目。

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

1 个答案:

答案 0 :(得分:2)

我相信正在发生的事情是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 

放手一搏,祝你好运!