2

我在 Jenkins 构建服务器上运行自动化测试时遇到问题,因为我将连接字符串从我的配置文件移动到 searate 文件使用 <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文件都位于测试项目的根文件夹以及解决方案中使用这些连接字符串的项目中。

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

4

1 回答 1

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 

试一试,祝你好运!

于 2015-08-03T21:39:24.953 回答