我是C#4.0和WPF的新手,我即将开始一个新的应用程序。
来自C ++ / MFC世界,我对测试与最新技术一起使用的策略感兴趣。
例如:
任何建议都将受到赞赏。
感谢。
答案 0 :(得分:4)
使用。测试WPF应用程序 白色UI测试框架: http://blogs.msdn.com/b/john_daddamio/archive/2008/04/04/testing-wpf-applications-with-the-white-ui-test-framework.aspx
还要看看这篇文章,了解如何自动化UI测试:
在WPF中自动执行UI测试 应用: http://msdn.microsoft.com/en-us/magazine/dd483216.aspx
Xaml团队提出了一个XAML Compliance Suite来验证XAML(我自己没试过) -
http://blogs.msdn.com/b/llobo/archive/2010/07/07/xaml-compliance-suite-v1.aspx
各种第三方工具也可用于测试WPF应用程序,例如AutomatedQA中的这个 -
AutomatedQA的TestComplete是一个 全面的自动化测试工具 这有助于QA团队实现自动化 功能,单位,回归等 测试各种各样的类型 应用程序类型,包括Windows 演示基金会(WPF) 应用
http://www.automatedqa.com/products/testcomplete/testing-wpf-apps/
我还建议您阅读MS的WPF应用程序质量指南
本文档概述了 测试Windows演示文稿 基金会(WPF)应用程序和 控制。
http://windowsclient.net/wpf/white-papers/wpf-app-quality-guide.aspx#intro
答案 1 :(得分:3)
看看White。从他们的网站:
白色自动化Windows应用程序https://white-project.googlecode.com/svn/
White是一个基于Win32,WinForms,WPF,Silverlight和SWT(Java)平台自动化富客户端应用程序的框架。它基于.NET,不需要使用任何专有脚本语言。使用White的测试/自动化程序可以使用您已经使用的任何.NET语言,IDE和工具编写。 White提供了一致的面向对象的API,隐藏了Microsoft的UIAutomation库(White所基于的)和Windows消息的复杂性。只发布了稳定版本的White,因此所有版本都可以投入生产。
答案 2 :(得分:3)
现在,大多数关心WPF 单元测试的人倾向于使用MODEL-VIEW-VIEWMODEL(MVVM)设计模式。这是关于它的stackoverflow的tag。
这使您可以对大部分代码(包括许多UI逻辑)进行单元测试,而不会妨碍WPF。
对于系统测试,请参阅此问题的其他答案。
答案 3 :(得分:1)
如前所述,MVVM模式(甚至是Model-View-ViewModel-Presenter模式)是一个良好的开端。它们允许您单独和隔离地测试应用程序的不同问题。
单元测试部件的一个好工具是Moq。我经常使用它。
我也经常从ViewModel到Model和Presenter进行验收测试。所以我可以保证所有层一起工作。这是UI测试和单元测试之间的折衷。它的优点是测试运行得更快,因此运行更频繁。
如果您还想自动测试View和ViewModel之间正确的数据绑定,您应该查看Guia。它允许您直接实例化和测试单个UserControl。
答案 4 :(得分:0)
我非常关心正确的观点。这意味着单元测试。 对我来说,最好的技术是只在单个单元测试中测试视图,这意味着
模型+视图=结果。
开源验证实用程序ApprovalTests(www.approvaltests.com或nuget)将轻松测试Wpf视图。
您可以在此处看到它:http://www.youtube.com/watch?v=Xc_ty03lZ9U
我建议先观看winforms视频,因为它涉及更多关于如何测试视图的理论:http://www.youtube.com/watch?v=hKeKBjoSfJ8
代码本身看起来像
var model = CreateModel();
var yourWpfView = new YourWpfView(model);
WpfApprovals.Verify(yourWpfView);
它将截取屏幕截图并将其与黄金大师进行比较。