在开发用户界面时,您对使用TDD有什么看法和经验?
这个问题我已经考虑了一段时间了,就是不能做出最后的决定。我们即将开始一个Silverlight项目,我在查看Microsoft Silverlight Unit Test Framework时考虑到了测试驱动程序,但我不确定如何将这种方法应用于一般的UI开发-或者特别是Silverlight。
问题是关于使用进行UI开发是否实用,而不是关于如何进行关注点分离。
发布于 2008-12-12 13:12:25
尝试测试UI组件的确切位置是没有意义的。首先是因为布局是主观的,应该由人类来“测试”。其次,因为随着UI的变化,您将不断地重写测试。
同样,不要测试GUI组件本身,除非您正在编写新组件。相信这个框架会做好它的工作。
相反,您应该测试构成这些组件的行为:构成应用程序的控制器和模型。在这种情况下使用TDD会促使您实现关注点分离,这样您的模型就是真正的数据管理对象,控制器就是真正的行为对象,它们都不会与UI紧密耦合。
发布于 2008-12-12 13:13:27
我从UI的角度来看TDD,更多的是从UI通过的最基本的接受标准来看。在一些圈子里,这被贴上了ATDD或验收测试驱动开发的标签。
我在使用TDD for UI时发现的最大的过度工程是,当我对使用自动化测试来测试外观和感觉问题感到兴奋时。我的建议是:不要这样!专注于测试行为:这种点击会产生这些事件,这些数据是可用的或显示的(但不是如何显示的)。外观和感觉真的是你的独立测试团队的领域。
关键是把你的精力集中在“高附加值”活动上。自动化风格测试更像是一笔债务(让它们保持最新状态),而不是增值。
发布于 2008-12-12 13:10:53
如果你将你的逻辑与实际的GUI代码分开,你可以很容易地使用TDD来构建逻辑,并且如果你需要的话,在你的逻辑之上构建另一个界面也会容易得多。
https://stackoverflow.com/questions/362671
复制相似问题