单元测试WPF绑定 [英] Unit test WPF Bindings

查看:148
本文介绍了单元测试WPF绑定的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用Microsoft Team System提供的测试套件来单元测试我的WPF数据绑定。我想能够测试绑定而不显示窗口,因为我的大多数测试将是用于用户控件,而不是实际上在窗口上。这是可能的还是有更好的方法呢?如果我显示窗口,下面的代码工作,但如果我没有,绑定不会更新。

I am trying to unit test my WPF databindings using the test suit provided by Microsoft Team System. I would like to be able to test the bindings without showing the window because most of my tests will be for user controls and not actually on a window. Is this possible or is there a better way to do it? The code below works if I show the window, but if I don't, the bindings don't update.

            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


推荐答案

Shane,如果你真正担心的是一个无限的破解,你应该看看将绑定轨迹重定向到你可以检查的地方。我会从这里开始:

Shane, if what you're really worried about is a binding breaking silently, you should look at redirecting the binding traces to somewhere you can examine. I'd start here:

http://blogs.msdn.com/mikehillberg/archive/2006/09/14/WpfTraceSources.aspx

其他比较而言,我同意Gishu,绑定并不是单元测试的好候选者,主要是由于Gishu在Epilogue中提到的自动化。

Other than that, I agree with Gishu that bindings aren't good candidates for unit testing, mainly due to the automagic going on that Gishu mentioned in the "Epilogue". Instead focus on making sure the underlying class behaves correctly.

同样,请注意,您可以使用PresentationTraceSources类获得更强大的跟踪:

Note, too, that you can get even more robust traces using the PresentationTraceSources class:

http:// msdn。 microsoft.com/en-us/library/system.diagnostics.presentationtracesources.aspx

希望有帮助!

这篇关于单元测试WPF绑定的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆