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

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

自从我使用 <connectionStrings configSource="connectionStrings.config"/> 将连接字符串从配置文件移动到 Searate 文件后,我在 Jenkins 构建服务器上运行自动化测试时遇到问题。

当我从 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-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 

尝试一下,祝你好运!

关于c# - 从命令行运行时,NUnit 看不到 configSource 定义的连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31783498/

相关文章:

c# - 在资源中隐藏 App.config

c# - 将 JQGRID 与 MYSQL 和 ASP.NET 连接

javascript - 在 Razor 调用我的 HTML Helper 之前调用 Javascript 函数

Android特定谷歌授权

asp.net-mvc-4 - 具有绝对路径的 ASP.NET MVC Bundle

Jenkins 在保存一些工作后变得非常慢

c# - 通过 C# 呈现包含数据的表格的动态 html 的意外行为

c# - 检查匿名类型是否等于指定类型

Jenkins-取消卸载插件

jenkins - 在 Jenkins 2 管道中执行 SonarQube 扫描仪