2012-04-19 91 views
2

是否有人知道某個工具或者是否有良好的QA解決方案來單獨測試各個nServiceBus端點?我們的系統中有多個發佈商和訂閱者,我們希望對他們進行單獨測試。例如,爲了測試我們的發佈商,我們希望能夠使用我們的質量檢查工具輕鬆訂閱/取消訂閱不同發佈商的工具,以便他們可以將郵件發送到其「QA隊列」以驗證郵件。爲了測試訂閱者,我們希望他們能夠將消息直接發佈到訂閱者輸入隊列。nServiceBus質量保證測試工具

回答

1

我們連接wcf端點用於發佈條目。創建一個用於保存RavenDB中的消息的qa用戶。由於在pub中有多個相同類型的處理程序不起作用,因此wcf端點消息是以main消息爲基類的新類。然後QA可以使用soapui或其他測試客戶端。

1

有一個名爲BizUnit的集成測試框架,它允許您聲明性地定義集成測試。它帶有一些預定義的排隊/收聽MSMQ的步驟。

由於NServiceBus所需的消息頭信息,您可能必須編寫自己的自定義步驟才能排隊。

雖然這是面向BizTalk測試,但它不依賴BizTalk正在安裝或可用。

這是唯一想到的東西。這是測試任何分佈式系統的好框架。

1

您可以將一個程序集簡單地配置爲具有預定義端點名稱的訂閱服務器。唯一的配置是傳遞端點(消息映射)來修改配置文件。我想你可以把它包裝在一個腳本中,並讓QA用命令行參數運行腳本。 PowerShell從一開始就非常喜歡操縱XML。這可能看起來像「訂閱到端點消息.dll端點名稱」

1

爲您的端點(ForwardReceivedMessagesTo)打開審計並編寫一些代碼來驗證預期的消息是否在審計隊列中結束。

+0

據我所知,審計確實不適用於單獨測試發佈商。在我的qa環境中,我已經有了一個發佈商,可以在沒有任何真正用戶的情況下進行測試。沒有實際的用戶,它顯示ForwardReceivedMessagesTo不適用。 – Striker 2012-04-20 13:47:33

+0

只需向您的發佈者發送一個subsciption消息,使其可以創建「QA」訂閱,並在觸發發佈者時驗證預期消息是否在假訂閱者隊列中結束 – 2012-04-26 20:02:48