我試圖找到從我的邏輯中解耦messageboxes的最佳方法,所以我可以正確地對它進行單元測試。現在我想知道如果我只是創建了一個單獨的幫助類(C#),我可以稍後爲我的消息框存根就足夠了。例如:Messagebox和單元測試
static class messageBoxHelper
{
public static void msgBoxAlg(string message, string title, MessageBoxButtons buttons, MessageBoxIcon icons, bool show)
{
if (show)
{
MessageBox.Show(message, title, buttons, icons);
}
}
然後每次我需要使用一個消息我只是用messageboxHelper/msgBoxAlg(...),而不是messagebox.show(...)。使用布爾秀,我可以在測試過程中啓用或禁用它。
我只是想知道這是否是「正確的方式」。我的意思是,有沒有更好的或更好的方法來正確地做到這一點?我不能丟棄信息盒,他們會向用戶傳遞「重要」信息(「您想關閉這個窗口嗎?」YES/NO等)。也可能是因爲我沒有使用正確的軟件工程,我應該更多地將我的消息箱與我的bussinesslogic分離開來?
謝謝,非常明確的解釋! – 2011-12-19 13:35:57
我喜歡「IDialogService」這個術語作爲抽象! – Samuel 2016-09-09 17:18:49