如何为摆动部件做有效的TDD

sre*_*ith 7 java tdd swing

我正在研究Swing,我想知道如何有效地为我的GUI应用程序做TDD.

我已经使用方丈节日做了一些事情......但我仍觉得它没有效果,它

就像Functional testing只做,如果有任何一个有好的建议,请发布..

Yis*_*hai 3

GUI 的 TDD 有两个方面。有 GUI 设置本身(例如拖放),然后是 GUI 的功能(按此按钮在 Web 浏览器中启动 URL)。

关于 GUI 本身,我建议“Test Just After”,您可以编写一些代码并查看 Swing 实际上执行您期望的操作,然后将该代码放入锁定行为的可测试方法中。您仍然保持它很小,因此您需要测试来推动设计,但最终 Swing 框架更多地推动设计。

关于 GUI 的功能,您应使未测试的部分尽可能精简,并首先为执行您所需操作的方法调用编写测试。例如,添加操作侦听器可能未经测试,但操作侦听器只不过委托给正在测试的方法。

在某种程度上,您必须记住这是单元测试,因此您的所有测试肯定都通过了,但 Swing 的行为仍然不符合您的要求。不要指望 TDD 会给你带来更好的结果。功能测试也有一席之地。

我发现 Abbot 可以帮助完成第一种测试,但不足以证明额外工具的合理性(在我们的项目中,我们有来自我们耳朵的框架,所以我尽量明智地选择我们使用的框架数量)。