我正在使用Jenkins的Nunit运行数据层测试用例。测试用例使用实体框架与数据库连接。我的连接字符串:
当我从Jenkins运行此测试用例时,我将获得以下信息 错误:
2) Test Error : TaskMaster.Tests.TaskManagerControllerTest.EndTask System.Data.Entity.Core.EntityException : An exception has been raised
这可能是由于瞬时故障造成的。如果您要连接到 SQL Azure数据库考虑使用SqlAzureExecutionStrategy。 ----> System.Data.Entity.Core.EntityException:基础提供者 打开失败。 ----> System.Data.Entity.Core.EntityException:一个 引发了异常,很可能是由于瞬时故障所致。 如果要连接到SQL Azure数据库,请考虑使用 SqlAzureExecutionStrategy。 ----> System.Data.SqlClient.SqlException :已成功与服务器建立连接,但随后 登录过程中发生错误。 (提供者:命名管道 提供程序,错误:0-管道的另一端没有进程。)
----> System.ComponentModel.Win32Exception:管道的另一端没有进程 System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute [TResult](Func1 operation) at System.Data.Entity.Core.Objects.ObjectQuery
1.GetResults(Nullable1 forMergeOption) at System.Data.Entity.Core.Objects.ObjectQuery
1..GetEnumerator> b__0() 在System.Data.Entity.Internal.LazyEnumerator1.MoveNext() at System.Collections.Generic.List
1..ctor(IEnumerable1 collection)
1源)处 c:\ Program Files中的TaskMaster.Data.Repository.GetTasks() (x86)\ Jenkins \ workspace \ Test001 \ TaskMaster.Data \ Repository.cs:第30行 在c:\ Program Files中的BusinessLayer.TaskManager.GetTasks()中 (x86)\ Jenkins \ workspace \ Test001 \ BusinessLayer \ TaskManager.cs:第34行
at System.Linq.Enumerable.ToList[TSource](IEnumerable
在c:\ Program中的TaskMaster.Tests.TaskManagerControllerTest.EndTask() 档案 (x86)\ Jenkins \ workspace \ Test001 \ TaskMaster.Tests \ TaskManagerController.Test.cs:line 62 --EntityException在System.Data.Entity.Core.EntityClient.EntityConnection.Open()在 System.Data.Entity.Core.Objects.ObjectContext.EnsureConnection(布尔 shouldMonitorTransactions) System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction [T](Func1 func, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction, Boolean releaseConnectionOnSuccess) at System.Data.Entity.Core.Objects.ObjectQuery
1。<> c__DisplayClass7.b__5() 在 System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute [TResult](Func1 operation) --EntityException at System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute[TResult](Func
1 操作) System.Data.Entity.Core.EntityClient.EntityConnection.Open() --SqlException在System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject,UInt32 waitForMultipleObjectsTimeout,布尔值 allowCreate,仅布尔值OneCheckConnection,DbConnectionOptions userOptions,DbConnectionInternal&连接),位于 System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject,TaskCompletionSource1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource
1重试,DbConnectionOptions userOptions,DbConnectionInternal oldConnection,DbConnectionInternal& 连接) System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection externalConnection,DbConnectionFactory connectionFactory, TaskCompletionSource1 retry, DbConnectionOptions userOptions) at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource
1 重试) System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource1 retry) at System.Data.SqlClient.SqlConnection.Open() at System.Data.Entity.Infrastructure.Interception.InternalDispatcher
} 1.Dispatch [TTarget,TInterceptionContext](TTarget 目标,执行动作2 operation, TInterceptionContext interceptionContext, Action
3,执行动作3 executed) at System.Data.Entity.Infrastructure.Interception.DbConnectionDispatcher.Open(DbConnection connection, DbInterceptionContext interceptionContext) at System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.<>c__DisplayClass1.<Execute>b__0() at System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute[TResult](Func
1 操作) --Win32Excepti
如果我从Visual Studio测试中运行相同的测试用例,则运行正常,没有任何错误。我检查了连接字符串是否相同。任何帮助表示赞赏。
注意:我尝试在连接字符串中使用集成安全性。但是在jenkins中,尝试以NT Authority / Network Service身份登录数据库,但该用户不存在。