2009-08-14 12 views
0

Ich schreibe gerade Komponententests für ein ViewModel in meinem Projekt, das Prism und das MVVM-Muster verwendet.Unit-Test-Funktionen, die nur private Member-Variablen ändern?

Meine Ansicht besteht hauptsächlich aus einem ItemsControl, das auf verschiedene Mausereignisse (LeftMouseButtonDown, LeftMouseButtonUp usw.) reagiert. Wenn ein solches Mausereignis eintritt, werden EventArgs und einige andere Informationen zum Kleber an das ViewModel übergeben und eine entsprechende Methode aufgerufen (MouseMove-Ereignis -> OnMouseMove-Methode).

Auf diese Weise habe ich eine Methode zum Ziehen von Elementen implementiert, die zuvor dem ItemsControl hinzugefügt wurden. Dies geschieht, indem zwei Membervariablen "movingObject" und "gripPoint" in der OnMouseLeftButtonDown-Methode festgelegt und die Variablen in der OnMouseLeftButtonUp-Methode auf null gesetzt werden.

Die Frage, die jetzt auftaucht, ist, wenn ich diese Funktionen (LeftButtonUp, LeftButtonDown) Unit-Test sollte. Theoretisch werden sie von der "äußeren" Welt (-> nicht vom ViewModel selbst) aufgerufen und verdienen daher einen Test, aber wie soll ich die Veränderung einer privaten Variable testen, die (meiner Meinung nach) keinen öffentlichen Accessor verdient (für den niedrigen Zweck existiert es)?

Vielen Dank im Voraus!

Antwort

Verwandte Themen