2010-07-29 18 views
0

我無法找出單元測試WPF樣式選擇器的方法。如何測試WPF StyleSelector?

我的選擇是這樣的:

public class ListViewItemStyleSelector : StyleSelector 
{ 
    public override Style SelectStyle(object item, DependencyObject container) 
    { 
     var listView = ItemsControl.ItemsControlFromItemContainer(container) as ListView; 

     Style style; 

     var index = listView.ItemContainerGenerator.IndexFromContainer(container); 

     if (index % 2 == 0) 
      style = (Style)listView.FindResource("listViewItemStyle"); 
     else 
      style = (Style)listView.FindResource("listViewAlternatingItemStyle"); 

     return style; 
    } 
} 

我不得不認爲會有模仿綁定過程,然後散發出來的風格主張的一種方式。任何想法,或者這是WPF的一個領域,不能僞裝出來?

我使用Rhino Mocks模擬我的嘲諷框架,但我並不反對手滾動假貨,如果需要的話。

回答

1

你很明顯處於View(與Model或ViewModel相對)測試的領域。

驗證此行爲的最簡單方法是使用IcuTest(http://IcuTest.com)等工具對GUI單元進行測試。您只需創建一個包含少量項目的列表,然後顯示它並驗證它是否交替。

+0

這可能最終會被接受的答案,但我抱着一段時間的希望,但只有一個代碼測試解決方案。如果我不能通過代碼來測試這個過程,那麼它意味着微軟不能。那將是不幸的,但我想不要太難相信。 – 2010-08-11 14:41:20