2013-07-16 51 views
0

一個電話,我有以下的測試代碼:如何假以MSMQ.Send

using (ShimsContext.Create()) 
      {       

       // act 
       sut.MethodCall(); 
      } 

的SUT有以下方法(MethodCall):

Dim mq As New MSMQ.MessageQueue(messageQPath) 
    mq.Send(mqMsg) 

但我發現了以下錯誤:

"The queue does not exist or you do not have sufficient permissions to perform the operation." 

顯然,隊列將不存在,我不會有足夠的權限,如果我沒有對假messag創建隊列e隊列。有沒有人有任何與MSMQ和假貨工作的經驗,以便對MSMQ發送電話基本上是一個沒有操作,我可以驗證?

回答

1

墊片必須建立像這樣:

ShimMessageQueue.AllInstances.SendObject = (m, o) => 
       { 
        // verification code here 
       }; 

爲假貨沒有驗證呼叫直接使用框架的概念,你只要把驗證碼拉姆達爲使用SendObject內呼叫。