Как я могу провести модульное тестирование WPF StyleSelector? - PullRequest
0 голосов
/ 29 июля 2010

У меня проблемы с поиском способа модульного тестирования селектора стиля WPF.

Мой селектор выглядит так:

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 Ответ

1 голос
/ 30 июля 2010

Вы явно находитесь в области тестирования View (в отличие от Model или ViewModel).

Самый простой способ проверить это поведение с помощью модульного тестирования графического интерфейса с помощью такого инструмента, как IcuTest (http://IcuTest.com).. Вы просто создаете список с несколькими элементами, отображаете его и проверяете, что он чередуется.

...