我想单元测试我的WPF数据绑定,使用Microsoft Team System提供的测试套装。我希望能够在不显示窗口的情况下测试绑定,因为我的大多数测试都是针对用户控件,而不是实际上在窗口上。这是可能的还是有更好的方法来做到这一点?下面的代码工作,如果我显示窗口,但如果我不这样做,绑定不会更新。单元测试WPF绑定
Window1_Accessor target = new Window1_Accessor();
UnitTestingWPF.Window1_Accessor.Person p = new UnitTestingWPF.Window1_Accessor.Person() { FirstName = "Shane" };
Window1 window = (target.Target as Window1);
window.DataContext = p;
//window.Show(); //Only Works when I actually show the window
//Is it possible to manually update the binding here, maybe? Is there a better way?
Assert.AreEqual("Shane", target.textBoxFirstName.Text); //Fails if I don't Show() the window because the bindings aren't updated
如果我们在类结合的特性,并重构类,XAML中仍然会编译,但没有将引发异常,我们的应用程序将无法再正常的绑定将是不正确的。这对我们来说是一个问题,这就是我们寻找解决方案的原因。 – NotDan 2008-12-02 15:48:23