2010-08-16 82 views
1

我的具體問題是,當視圖模型構造函數在MVVM光強的例子爲藍本,像這樣的如何在MVVM-Light框架中進行單元測試視圖模型?

public MainViewModel() 
{ 
    if (IsInDesignMode) 
    { 
     BackgroundBrush = new SolidColorBrush(Colors.Orange); 
    } 
    else 
    { 
     Messenger.Default.Register<Brush>(
      this, 
      true, 
      m => BackgroundBrush = m); 

     ShutdownCommand 
      = new RelayCommand(ShutdownService.RequestShutdown); 
    } 
} 

應該測試呢?我應該測試什麼?看起來我應該測試一下這個班是否註冊了聽信息,以及是否連接了ShutdownCommand。我目前的問題是ShutdownCommand被設置並調用它應該調用的內容。我還沒有完全獲得TDD,所以也許我只是在問所有錯誤的問題。

回答

1

當收到一個畫筆消息時,您可以測試您的MainViewModel的行爲。 您也可以測試ShutdownCommand是否爲空。 單元測試是關於測試對象的公共狀態,行爲和交互。 如果你只是在你的構造函數中設置一個私有字段,那有什麼要測試的? 不要打擾單元測試你的簡單訪問器和增變器。這太愚蠢了,它並不能幫助任何人。