【发布时间】:2016-07-18 11:02:55
【问题描述】:
我正在尝试在 SizeChangedEventHandler 中执行代码,但以下内容不起作用:
[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);
}
我最初尝试使用 RaiseEvent 方法,但由于不知道构造函数参数并且对象浏览器没有帮助,我无法为其提供正确的 xxxEventArgs 类型:
panel.RaiseEvent(new System.Windows.SizeChangedEventArgs()) // does not compile
显然,上述测试没有任何作用,但我正在寻求在单元测试环境中触发事件的正确方法。
【问题讨论】:
-
为什么要将此添加为单元测试?您是在测试窗口的变化是什么,还是在测试调整大小时调用的代码的逻辑?
-
@BenSteele 是的,后者。我可以在代码中移动东西,但一直顽固地尝试按原样进行测试
标签: c# wpf unit-testing mstest