如何对WPF样式选择器进行单元测试?
我很难找到对WPF样式选择器进行单元测试的方法 我的选择器看起来像:如何对WPF样式选择器进行单元测试?,wpf,unit-testing,data-binding,Wpf,Unit Testing,Data Binding,我很难找到对WPF样式选择器进行单元测试的方法 我的选择器看起来像: public class ListViewItemStyleSelector : StyleSelector { public override Style SelectStyle(object item, DependencyObject container) { var listView = ItemsControl.ItemsControlFromItemContainer(contain
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 Mock作为模拟框架,但如果需要,我并不反对手工制作赝品。您显然处于视图(与Model或ViewModel相反)测试领域
验证此行为的最简单方法是使用诸如IcuTest()之类的工具进行GUI单元测试。您只需创建一个包含几个项目的列表,显示它,并验证它是否是交替的。这很可能最终成为公认的答案,但我仍希望有一个纯代码的测试解决方案。如果我不能只通过代码来测试这个过程,那就意味着微软也不能。那将是不幸的,但我想不太难相信。