单元测试Silverlight中的自定义控件

时间:2010-06-02 09:41:54

标签: silverlight unit-testing

我有几个自定义控件(用于内容和布局管理的某种框架,比如换行面板),并且想为它们编写单元测试。除了Silverlight控件工具包之外,很难找到任何好的例子,它有一些辅助类来进行单元测试,而且非常复杂。对于MVVM类,编写测试很容易,因为它们不使用SL依赖系统和基础结构 问题:

  • 如何对DepedenyProperty进行单元测试,我需要测试什么
  • 如何测试附属物
  • 使用主题或UserControl测试绑定,例如简单的文本块内容绑定,或使用UserControl的MVVM中的命令/事件绑定
  • 我在自定义控件中测试的其他内容,除了我的业务逻辑
  • 任何实现类似控件工具包中的测试的好教程

我该如何开始? SL控制工具包是否只有学习选项?

对于测试框架,我使用的是控件工具包,并且为了在TFS构建服务器上进行连续集成,我计划使用Statlight(来自codeplex)。有什么建议吗?

修改:
经过一番调查,我能够为自定义控件编写一些基本测试。我使用了Control Toolkit中的帮助程序类,它包含许多针对特定类型的自定义控件(面板,内容控件,...)的预定义测试,并具有测试基础结构功能(如Visual States和Parts)的方法。太糟糕了,没有手册或教程,因为它包含很多代码,需要一些时间来弄明白,如何在项目中使用它。
即使我的自定义控件继承自ContentControl,并且我可以继承ContentControlTest以用于我的测试,我得到了太多失败的测试。所以我使用了FrameworkElementTest,它包含大约30个测试,加上我自己的一些,并且在弄清楚如何准备整个事物(在测试类的构造函数中初始化东西,以及使用DepedenyPropertyTest帮助器类)之后,并不难通过它们。 )。
我仍然不知道我要做什么来从ContentControlTest传递所有测试,但我刚开始并进入整个测试的东西;)

1 个答案:

答案 0 :(得分:0)

听起来你已经弄明白了。 :) MVVM你可以在哪里。 Silverlight Unit是您要测试视图的框架。就是这样。