【发布时间】:2011-04-20 21:17:57
【问题描述】:
我是 C# 4.0 和 WPF 的新手,我即将开始一个新的应用程序。
来自 C++/MFC 世界,我对与最新技术一起使用的测试策略很感兴趣。
例如:
- 单元测试
- 功能测试
- 界面测试
- 其他?
任何建议将不胜感激。
谢谢。
【问题讨论】:
标签: c# .net wpf unit-testing testing
我是 C# 4.0 和 WPF 的新手,我即将开始一个新的应用程序。
来自 C++/MFC 世界,我对与最新技术一起使用的测试策略很感兴趣。
例如:
任何建议将不胜感激。
谢谢。
【问题讨论】:
标签: c# .net wpf unit-testing testing
正如 Larry 所说,White UI 测试框架可用于 WPF 的 UI 测试。这篇文章更详细地解释了这一点 -
使用 白色 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 合规套件来验证 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
【讨论】:
看看White。从他们的网站:
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 的稳定版本,因此所有版本都已准备好生产。
【讨论】:
我非常关心正确的视图。这意味着单元测试。 对我来说,最好的技术是只在单个单元测试中测试视图,这意味着
模型 + 视图 = 结果。
开源验证实用程序 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);
它会截取屏幕并将其与黄金大师进行比较。
【讨论】: