2009-11-09 40 views
0

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

回答

1

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

我们现在已经转移到UIAutomation并且这些问题消失了,因为您的测试和应用程序显式运行在两个单独的进程中。这里有一点学习曲线,但是UIAutomation并没有它第一次出现那么可怕:我写了一个tutorial,它可以帮助你开始 - 按照链接,你还会发现一些辅助方法驯服UI自动化API有点。

2

没有理由不写单元测试ViewModels是否与视图正确分离。

A 冒烟测试是一个测试,实际上启动您的应用程序并检查它的工作原理和(对于具有UI的应用程序)UI自动化是实现这一目标的方法。