测试驱动开发 - WPF

JSW*_*ork 3 wpf tdd xaml

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

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

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

Gis*_*shu 12

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

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

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

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

  • @JSWork - 很高兴听到......回复结果如何; 如果遇到障碍/问题. (2认同)