NuGetのXUnit 2.1.0と、対応するランナー、consoleおよびvisualstudioをドキュメント「here」関連するコンテンツ。テストエクスプローラでXUnitテストを実行したときのCSLAs WCFの使用により、偽装例外が発生します
私も使用していますVisual Studioの2015年エンタープライズアップデート2. (私は5歳だと思う?)期限切れの合理的だ唯一のことは、我々は4.0.1にしている、CSLAある
我々は実行DataPortalフェッチを必要とするテストでは、DataPortalフェッチがサーバーに送信されるとすぐにテストが終了します。 WCFは "偽装用の無効なトークン - 複製できません"という "System.ServiceModel.FaultException"をスローします。他のユーザーを偽装しようとするテストはないことに注意することが重要です。 CSLAを使用してDataPortalコールを試みるどのテストでも落ちることが起こります。 私はxunit 1.xから2.xにnugetを使って移動しました。テストをローカルでテストするときにxunitランナーからxunitを実行していましたが、現在は廃止予定です。テストはすべて、xunit 1.x用のGuiとコンソールランナーの両方を使って完璧に動作しました。今我々はxunit 2.xでビジュアルスタジオランナーを使用しなければなりません。
編集:xunit 2.xコンソールランナーをビジュアルスタジオの外から実行すると、テストは2.xでもうまくいきます。動作していないもののビジュアルスタジオ側です。以下
スタックトレース:
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を使用して正常に動作します
興味深いことに、興味深いことに、私たちは現在、〜1200単位のテストを行っています。それらのすべてに属性を追加するのは難しいでしょう。これはVisual Studioで動作させる唯一の方法ですか?この属性をすべてのテストに追加しますか? Visual Studioを偽装するのを止める方法はありませんか? – Skintkingle
申し訳ありませんが、VSテストランナーが使用するユーザーを変更する方法はわかりません。いずれかのテストで既にこれを拡張できるBeforeAfterTestAttributeを使用していますか?物事を少し速くするかもしれない。 – Grinden
"[Fact]" - > "[Fact、RequiresGenericPrincipal]"を検索して置き換えますか? – Grinden