2010-08-16 17 views
1

Ma question est quand le constructeur de viewmodel est calquée sur les exemples MVVM-Light, comme celui-ciComment puis-je effectuer des tests de vue unitaires dans le framework 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); 
    } 
} 

Il devrait tester cela? Que devrais-je tester? On dirait que je devrais tester si la classe est inscrite pour écouter un message, et si elle connecte un ShutdownCommand. Mon problème actuel est que ShutdownCommand est configuré et appelle ce qu'il est censé appeler. Je ne comprends pas encore TDD, alors je pose peut-être toutes les mauvaises questions.

Répondre

1

Vous pouvez tester le comportement de votre MainViewModel lorsqu'un message Brush est reçu. Vous pouvez également tester que ShutdownCommand n'est pas nul. Le test unitaire consiste à tester les états publics, les comportements et les interactions de vos objets. Si vous définissez simplement un champ privé dans votre constructeur, qu'est-ce qu'il y a à tester? N'essayez pas de tester vos simples accesseurs et mutateurs. C'est juste idiot, et ça n'aide personne.