2009-11-18 50 views
0

在我的應用程序中有3個文本框和一個按鈕。如果用戶不填寫任何這些文本框並點擊該按鈕,則會向用戶顯示一個消息框,表示未輸入特定的文本框。對話框的聲明函數

現在我該如何使用Assert來確認消息框是否被彈出?

感謝您提前給出答案。

+0

你能指定你用來傳遞文本框的東西嗎? – Shane 2009-11-18 18:29:21

+0

我使用白色來插入值並單擊按鈕。 – shanthiram 2009-11-18 18:30:24

回答

0

對於這種GUI單元測試,更乾淨的解決方案是在界面後面抽象UI副作用。的

因此而不是調用類似:

ShowErrorMessage("This is bad"); 

創建負責顯示對象

public interface MessageShower { 
    public function showMessage(String msg); 
} 

在現實生活中的接口,你的代碼將使用一個具體的實現:

public class ConcreteMessageShower { 
    public function showMessage(String msg) { 
    ShowErrorMessage(msg); 
    } 
} 

但是在單元測試中,您將使用一個假實現,或者一個存根,或者一個嘲笑。

這實際上是「我如何測試UI副作用?」的一般問題,答案是:「你不要!」 ;)

希望這有助於。