代码之家  ›  专栏  ›  技术社区  ›  Daniel Auger

如何对WPF样式选择器进行单元测试?

  •  0
  • Daniel Auger  · 技术社区  · 14 年前

    我的选择器看起来像:

    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中不能伪造的一个领域?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Ray    14 年前

    很明显,您正处于视图(与Model或ViewModel相反)测试领域。

    验证此行为的最简单方法是使用IcuTest之类的工具进行GUI单元测试( http://IcuTest.com ). 您只需创建一个包含几个项目的列表,显示它,并验证它是交替的。