【发布时间】:2011-01-31 18:51:19
【问题描述】:
谈到 GUI 编程(至少对于 Web 而言),我觉得通常唯一对单元测试有用的是一些私有方法*。虽然单元测试对后端代码非常有意义,但我觉得它不太适合 GUI 类。
添加这些自动测试的最佳方法是什么?
* 为什么我认为唯一有用的测试方法是私有的:
通常,当我编写 GUI 类时,除了构造函数之外,它们甚至没有任何公共方法。公共方法(如果有的话)是微不足道的,构造函数完成了调用私有方法的大部分工作。
他们从服务器接收一些数据并进行大量琐碎的输出并将数据提供给其中包含的其他类的构造函数,添加调用(或多或少直接)调用服务器的侦听器......其中大部分都很简单(最难的部分是布局:css、IE 等)但有时我会创建一些私有方法来执行一些高级技巧,我绝对不希望公开可见(因为它紧密耦合到布局的实现,并且可能会改变),但足够复杂而无法破解。这些通常仅由构造函数调用或由代码中的事件重复调用,根本不被任何公共方法调用。
我想有一种方法来测试这种类型的方法,而不是将其公开或诉诸反射技巧。
(顺便说一句:我目前正在使用 GWT,但我觉得这适用于我在为 GUI 编码时使用的大多数语言/框架)
【问题讨论】:
-
我知道已经有很多关于单元测试私有方法的问题,但我发现没有人关注 gui...
标签: unit-testing user-interface language-agnostic