我正在研究Swing,我想知道如何有效地为我的GUI应用程序执行TDD。
我已经使用 abbot 和 fest 做了一些事情......但我仍觉得它没效果,它
就像只做Functional testing
,如果有任何好的建议请发帖..
答案 0 :(得分:3)
TDD有两个方面的GUI。有GUI设置本身(比如拖放)然后有GUI的功能(按下此按钮在Web浏览器中启动URL)。
关于GUI本身,我建议使用Test Just After,在那里编写一些代码并看到Swing实际上做了你期望它做的事情,然后你将这些代码放入一个可以阻止行为的可测试方法中。你仍然保持小巧,所以你需要测试驱动设计,但最终Swing框架更多地推动了设计。
关于GUI的作用,您将未经测试的部分保持尽可能薄,并首先为执行所需操作的方法调用编写测试。例如,添加动作侦听器可能未经测试,但动作侦听器只执行委托给正在测试的方法。
在某一点上你必须记住这是单元测试,所以你的所有测试肯定都可以通过,而Swing仍然没有按照你想要的方式运行。不要指望TDD会让你更好。功能测试也有它们的位置。
我发现Abbot可以帮助第一种Test It After,但还不足以证明额外的工具(在我们的项目中,我们的框架已经出现了,所以我试着明白我们有多少使用)。