测试驱动开发 - WPF

时间:2011-08-31 15:27:16

标签: wpf xaml tdd

我想将我的代码转移到更加测试驱动的开发模型,但我不确定为表示层执行此操作的最佳方法。

其他图层的行为类似于黑框,您可以在其中提供输入和期望输出。

表示层不是那么简单。是否有任何程序,指南或实践可以帮助进行测试驱动的xaml开发。

2 个答案:

答案 0 :(得分:12)

好吧,我不能不发布答案。接受的答案中显示的方法至少可以说是维护陷阱。

将GUI开发移至MVP / MVVM模型。 WPF对MVVM友好。 制作与Presenter类委派/同步的精简GUI(使用最少的代码/逻辑)。这意味着您可以针对演示者编写单元测试,并在没有UI的情况下测试代码的重要部分。只使用presenter类编写少量UI测试并执行大部分功能测试。

编写UI测试不是答案(对于非平凡的GUI),因为它们是

  • 不可读。 UI测试退化为操纵UI元素的长奥术脚本。由于 模糊了它,很难看到正在测试的。如果你无法阅读它,一旦它破裂,你需要更长的时间来修复它。
  • 慢。每单位时间你的测试次数会减少。
  • 脆。 Gui更改可能会破坏许多GUI耦合测试,即使功能不是这样。更多测试维护。
  • 不稳定。您必须投入一些时间来稳定测试,以便每次都可靠地运行。引入延迟或轮询以显示某些内容。

答案 1 :(得分:4)

这是关于该主题的微软的一些内容。有关详细信息,请参阅注释中的链接。 http://msdn.microsoft.com/en-us/magazine/dd483216.aspx