16
私はMSMQを使用する私のアプリケーションをテストしますが、私はMessageQueueオブジェクトをモックするための方法が見つけられません。How-To MSMQ MessageQueueを擬似します
var queuePath = @".\Private$\MyQueue";
MessageQueue queue = null;
if (MessageQueue.Exists(queuePath))
{
queue = new MessageQueue(queuePath);
}
else
{
queue = MessageQueue.Create(queuePath);
}
私はxUnitでMoqを使用しています。
word私のすべての.NETプロジェクトは、Microsoftの密閉されたすべてのクラス(FileInfo、HttpContextなど)のインタフェース/ラッパーになります。 – ryber
+1。これはまた、最後の10日に受け入れられた答えです。「[クラスX]をどうやって模擬するのですか?質問。なぜ人々がこれを拾っていないのか分かりません。 –
ラッパークラスは、そのメソッドのシグネチャが 'System.Messaging.MessageQueue'を返すため、' Create'メソッド(途中で静的になっているはずです)以外の解決策としてはうまくいくようです'IQueue'を実装してください。誰かがそれに対する回避策を思い付いていますか? –