我有几个自定义控件(一些用于内容和布局管理的框架,比如wrap panel),并想为它们编写单元测试。除了silverlightcontroltoolkit,很难找到任何好的例子,它有一些助手类来做单元测试,而且非常复杂。对于MVVM类,编写测试很容易,因为它们不使用SL依赖系统和基础结构。
问题:
-
如何单元测试depenyproperty,我需要测试什么
-
-
我是否测试带有主题或UserControl的绑定,比如简单的textblock内容绑定,或者MVVM中带有UserControl的命令/事件绑定
-
除了业务逻辑之外,我还需要在自定义控件中测试什么
-
有什么好的教程可以实现像controltoolkit中那样的测试吗
对于测试框架,我使用的是controltoolkit中的一个,对于TFS构建服务器上的连续集成,我计划使用Statlight(来自codeplex)。有什么建议吗?
编辑:
经过一些调查,我能够为我的自定义控件编写一些基本测试。我使用了controltoolkit中的helper类,它包含了许多针对特定类型的自定义控件(面板、内容控件等)的预定义测试,并具有测试基础结构功能(如可视状态和部件)的方法。太糟糕了,没有手册或教程,因为它包含了大量的代码,需要一些时间来找出它,如何在您的项目中使用它。
即使我的自定义控件继承自ContentControl,并且有ContentControlTest可以继承用于我的测试,我得到了太多失败的测试。所以我使用了FrameworkElementTest,它包含了大约30个测试,加上我自己的一些测试,在弄清楚如何准备整个测试(test类的构造函数中的初始化内容,以及depenypropertytest helper类的使用)之后,通过它们并不难。