我正在用Silverlight编写LOB应用程序,而对单元测试遇到的所有障碍感到有些失望。

  • PRISM使用许多扩展方法,这些扩展方法本质上是静态方法,因此无法模拟。
  • 所有使用脏技巧来模拟非虚拟和静态方法的模拟框架在Silverlight中都不起作用(例如Moles,JustMock。不确定TypeMock隔离器。)

  • 所以,我的问题是:

    是否有一种策略可以隔离Silverlight单元测试中的依赖关系?

    我是否缺少某些东西,或者只是没有正确考虑这个问题?我可以使用UI测试(例如新VS2010 Feature Pack 2中提供的测试)来解决此问题吗?

    TIA

    最佳答案

    如果Prism存在此类问题,您是否看过其他MVVM框架?通常,Silverlight应用程序的所有层都应该是可测试的。

  • 模型应该是可测试的,因为它们与任何UI技术都不应该有任何关系。
  • View模型应该是可测试的,因为它们不应在UI上引用任何东西
  • View (XAML)是声明性的
  • 您需要填补一些空白,并编写自己的控件,附加的属性和行为。您可以查看Silverlight Toolkit源代码,以了解他们如何在那里进行测试。
  • 09-30 17:54
    查看更多