我们正在Visual Studio 2008中开展一个项目.我们正在使用它提供的内置测试套件(Microsoft.VisualStudio.TestTools.UnitTesting命名空间).事实证明,令我们懊恼的是,大量的复杂性(以及错误)已经编码到我们的UI层中.虽然我们的单元测试在覆盖我们的业务层方面做得不错,但我们的UI层却是一个不断激动的来源.理想情况下,我们也希望对其进行单元测试.有没有人知道在Visual Studio中这样做的"微软兼容"方式?它是否会引入某种冲突来"混合"像nUnitForms这样的单元测试框架与微软的东西?是否有任何明显的熊陷阱我应该注意单元测试表格?
您需要重构UI,以便UI不需要任何单元测试.UI应包含最少或没有业务逻辑.有许多模式可以解决这个问题.Martin Fowler有一篇非常好的文章解释了很多关于这些模式的文章:http://martinfowler.com/eaaDev/uiArchs.html
Martin Fowler的重构书中有一小章讨论了重构不可测试的UI.您还可以阅读有效使用旧版代码.
注意:有一些工具可用于自动化UI测试.SilkTest出现在我的脑海里.但如果可能,我不会使用它们.