【发布时间】:2016-08-01 11:59:38
【问题描述】:
我们正在使用来自 NuGet 的 XUnit 2.1.0 以及相关的运行程序、控制台和 visualstudio,如“使用 Visual Studio 运行测试”标题和相关内容下记录的 here。
我也在使用 Visual Studio 2015 Enterprise Update 2。 唯一合理过时的是 CSLA,我们在 4.0.1 上(我认为 5 岁?)
当我们运行任何需要 DataPortal 提取的测试时,一旦 DataPortal 提取尝试发送到服务器,测试就会失败。 WCF 引发“System.ServiceModel.FaultException”,说明“用于模拟的令牌无效 - 它不能被复制。”重要的是要注意没有任何测试试图冒充另一个用户。跌倒发生在任何尝试使用 CSLA 进行 DataPortal 调用的测试中。 我们最近通过 nuget 从 xunit 1.x 迁移到 2.x,我们曾经在本地测试测试时从 xunit 运行器运行 xunit,但现在已弃用。通过 xunit 1.x 的 Gui 和控制台运行程序,这些测试都运行得非常好。现在我们必须在 xunit 2.x 中使用 Visual Studio 运行程序,我们遇到了这个疯狂的异常。
编辑:如果您从 Visual Studio 外部运行 xunit 2.x 控制台运行程序,则测试在 2.x 上也很好,这是无法正常工作的 Visual Studio 方面。
下面的堆栈跟踪:
Server stack trace:
at System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(Message reply, MessageFault fault, String action, MessageVersion version, FaultConverter faultConverter)
at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at Csla.Server.Hosts.IWcfPortal.Fetch(FetchRequest request)
at Csla.DataPortalClient.WcfProxy.Fetch(Type objectType, Object criteria, DataPortalContext context) in D:\Dev\Insight\Trunk\Source\Lib\CSLA .NET\4.0\Source\Csla\DataPortalClient\WcfProxy.cs:line 162
at Csla.DataPortal.Fetch(Type objectType, Object criteria) in D:\Dev\Insight\Trunk\Source\Lib\CSLA .NET\4.0\Source\Csla\DataPortal.cs:line 245
at Csla.DataPortal.Fetch[T](Object criteria) in D:\Dev\Insight\Trunk\Source\Lib\CSLA .NET\4.0\Source\Csla\DataPortal.cs:line 170
如果我们从另一个测试运行器(例如旧的 xunit 测试运行器或 CruiseControl.Net)运行测试,这同样可以正常工作(我们使用 CC.Net 进行持续集成,这可以正常运行测试)
【问题讨论】:
标签: c# wcf visual-studio-2015 xunit csla