2012-08-14 14 views
0

我有一個看起來像的方法:MS測試聽寫對話框中,單擊事件C#

public void CloseInputTab() 
    { 
     if (MessageBox.Show("Are you sure you want to cancel? Any Unsaved changes will be lost", "Confirm Cancel", MessageBoxButtons.YesNo) == DialogResult.Yes) 
     { 
      //Do Stuff 
     } 
    } 

我正在寫兩個自動化測試案例。 1)確認的事情發生,如果確定被點擊 2)驗證是否取消被點擊

有沒有在Visual Studio測試工具的方式來單擊相應的按鈕,每個測試的東西並沒有發生。

如果不是,我可以將代碼複製到可用於我的Mocked類中,但我不希望這樣做。

+0

你使用WinForms或WPF來實現UI嗎? – 2012-08-14 17:19:38

+0

我使用WinForms – 2012-08-14 17:21:20

+0

您*可以*使用編碼的用戶界面,但讓您的演示邏輯與您的業務邏輯分開是正確的方法。 – 2012-08-14 17:39:30

回答

0

如果您使用的是WinForms,那麼堅持使用Model-View-Presenter pattern會很好。 (How to: Unit Test a Presenter

如果您使用的是WPF,請考慮使用Model-View-ViewModel pattern。 它們都提供可測試性。

更新

下面是一個例子:(MVP) Model View Presenter - Passive View與消息框。

+0

謝謝是的,我熟悉MVP模式,並且將消息框拉出視圖並返回結果似乎很愚蠢,但我想這是最簡單的解決方案。我只是希望有另一種方式 – 2012-08-14 17:27:47

+0

謝謝,我會這樣做。 – 2012-08-14 18:11:49