PropertyChanged Event Testing: Ist das ein guter Weg?

9

Ich entwickle WPF-Anwendungen mit MVVM-Pattern. Ich habe ViewModel mit Code wie folgt:

%Vor%

OnPropertyChanged ist eine virtuelle Methode der Basisklasse, die nur PropertyChanged event auslöst. Ich möchte PropertyChanged event raising testen und dort meine Testmethode:

%Vor%

Ist es eine gute Möglichkeit, das PropertyChanged-Ereignis zu testen?

    
bniwredyc 08.12.2009, 08:11
quelle

2 Antworten

11

Ich benutze eine kleine Fluent-API , um genau das zu tun. Es ermöglicht Ihnen, Tests wie folgt zu schreiben:

%Vor%

Abgesehen davon, dass ich prägnant bin, bevorzuge ich diesen Ansatz, weil es typsicher ist - keine String-Werte, die mit Ihrer API synchron bleiben.

Um zu testen, dass das Ereignis für mehr als eine Eigenschaft ausgelöst wird, können Sie einfach einen anderen Test schreiben, der dies tut. Dies wird Ihnen viele Tests geben, aber jeder wird sehr klein sein und Sie vermeiden Assertion Roulette .

    
Mark Seemann 08.12.2009, 08:18
quelle
1

Ich glaube, es ist eine gute Idee, das PropertyChanged-Ereignis in dem Beispiel, das Sie gezeigt haben, zu testen. Möglicherweise haben Sie den Eigenschaftsnamen falsch geschrieben, was zu einem fehlenden Update führen würde.

Mit dem WPF-Anwendungs-Framework (WAF) ist es sehr einfach, einen solchen Komponententest zu schreiben:

%Vor%     
jbe 13.12.2009 18:20
quelle

Tags und Links