我正在考虑为我们的WPF应用程序编写冒烟测试。我面临的问题是:我们应该使用UI自动化(或其他创建UI脚本的技术),还是直接使用ViewModels足够好(毕竟创建所有视图模型都是为了简化单元测试)。
发布于 2009-11-11 19:20:50
我们过去常常直接使用ViewModels编写集成测试(冒烟测试)。它起作用了,但我们必须处理一些有趣的线程问题:会发生什么,例如,如果您的ViewModel导致显示一个消息框-您的测试如何关闭消息框?我们必须确保我们的应用程序在一个线程上运行,我们的测试在另一个线程上运行。
我们现在已经转移到UIAutomation,这些问题也就消失了,因为您的测试和应用程序显式地在两个独立的进程中运行。这涉及到一些学习曲线,但UIAutomation并不像它第一次出现时那么可怕:我已经编写了一个tutorial,它可能会帮助您入门--单击该链接,您还会发现一些帮助程序方法,它们在某种程度上驯服了UI Automation API。
发布于 2009-11-09 23:58:41
如果单元测试与视图适当分离,那么没有理由不能为ViewModels编写这些测试。
smoke测试是一种实际启动应用程序并检查它是否工作的测试,(对于具有UI的应用程序)UI自动化是实现这一点的方法。
https://stackoverflow.com/questions/1701925
复制相似问题