Как мне перейти к модульному тестированию моделей представления в среде MVVM-Light? - PullRequest
1 голос
/ 17 августа 2010

Мой конкретный вопрос: когда конструктор viewmodel смоделирован по примеру 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 Ответ

1 голос
/ 24 февраля 2011

Вы можете проверить поведение вашей MainViewModel при получении сообщения Brush. Вы также можете проверить, что ShutdownCommand не равен нулю. Модульное тестирование - это тестирование открытых состояний, поведения и взаимодействия ваших объектов. Если вы просто установите приватное поле в своем конструкторе, что там тестировать? Не беспокойтесь о юнит-тестировании ваших простых аксессоров и мутаторов. Это просто глупо, и это никому не помогает.

...