Ich versuche Ausführen von Code in einem SizeChangedEventHandler aber die folgende funktioniert nicht zu erhöhen:Wie programmSizeChanged-Ereignis
[TestMethod]
public void TestSizeChanged()
{
var panel = new System.Windows.Controls.StackPanel();
bool handled = false;
panel.SizeChanged += (o, e) =>
{
handled = true; // how to get this to be executed
};
panel.Width = 100; // naive attempt to change size!
Assert.IsTrue(handled);
}
ich ursprünglich versucht, die Raise Methode zu verwenden, aber ich war nicht in der Lage gewesen, es zu liefern mit dem richtigen xxxEventArgs Typ aufgrund der Konstruktor Argumente nicht zu wissen, und das Objekt-Browser ist nicht zu helfen:
panel.RaiseEvent(new System.Windows.SizeChangedEventArgs()) // does not compile
Offensichtlich ist die obige Test keinen Zweck dient, aber ich bin nach korrekter Weise das Ereignis immer Feuer in eine Einheit-getestete Umgebung.
Warum fügen Sie dies als Komponententest hinzu? Testen Sie, um zu sehen, was das Fenster ändert, oder testen Sie die Logik des Codes, der beim Ändern der Größe aufgerufen wird? –
@BenSteele ja, letzteres. Ich könnte Sachen im Code umher bewegen, aber hartnäckig versucht haben, zu prüfen, wie ist – mungflesh