0

我正在考虑为我们的 WPF 应用程序编写冒烟测试。我面临的问题是:我们应该使用 UI 自动化(或其他一些创建 UI 脚本的技术),还是直接使用 ViewModel 是否足够好(在创建所有视图模型之后,首先使单元测试更容易)。

4

2 回答 2

2

如果您的 ViewModel 与您的 View 正确分离,那么您没有理由不能为您的 ViewModel 编写单元测试。

冒烟测试是一种实际启动您的应用程序并检查它是否工作的测试,并且(对于具有 UI 的应用程序)UI 自动化是实现该目标的方法。

于 2009-11-09T15:58:41.213 回答
1

我们过去常常直接使用 ViewModel 来编写集成测试(如果您愿意,可以进行冒烟测试)。它有效,但我们确实必须处理一些有趣的线程问题:会发生什么,例如,如果您的 ViewModel 导致显示消息框 - 您的测试如何关闭消息框?我们必须确保我们的应用程序在一个线程上运行,而我们的测试在另一个线程上运行。

我们现在已经转移到 UIAutomation 并且这些问题消失了,因为您的测试和应用程序明确地在两个单独的进程中运行。这涉及到一些学习曲线,但 UIAutomation 并不像最初看起来那么可怕:我已经编写了一个教程,可以帮助您入门 - 请点击链接,您还会找到一些帮助方法稍微驯服 UI 自动化 API。

于 2009-11-11T11:20:49.797 回答