WEB开发网
开发学院软件开发Java 调试和测试 Swing 代码 阅读

调试和测试 Swing 代码

 2010-03-17 00:00:00 来源:WEB开发网   
核心提示:Swing 是一个强大的 GUI 工具包;它可扩展、可配置且跨平台,不过 Swing 的灵活性既是它的主要优势也是它的重大弱点,调试和测试 Swing 代码,Swing 可以不同的方式构建同一 UI,例如,且哪些内容需要验证,总而言之,您可以使用插页、空白边框或填充符在 GUI 组件之间置入间隔,鉴于 Swing 选项

Swing 是一个强大的 GUI 工具包;它可扩展、可配置且跨平台。不过 Swing 的灵活性既是它的主要优势也是它的重大弱点。Swing 可以不同的方式构建同一 UI。例如,您可以使用插页、空白边框或填充符在 GUI 组件之间置入间隔。鉴于 Swing 选项太多,了解现有 GUI 如同编写新 GUI 一样令人畏惧,且将其视觉外观与底层代码对应起来也并非易事。(试着在阅读几个使用 GridBagLayout 的代码行时想象一下 GUI。)

不管您是在维护未曾写过的 Swing GUI 还是集成第三方 GUI 组件到您的应用程序中,理解代码的一种合理方法是编写测试。在编写测试的同时您也就熟悉了未知代码的内部构造。这样做会同时产生另一个有价值的结果,即您最终会有一个测试套件,它有助于在维护代码时预防回归的引入。对于第三方 GUI 组件,测试套件有助于查明新版本的库是否引入了任何行为变化。

一开始最好先编写功能测试,以了解 GUI 如何响应用户输入。为 GUI 编写测试比为非可视化代码编写测试更复杂,因为:

理论上,测试必须是自动化的,但是 GUI 则是供人类 — 而非计算机程序 — 使用的。

传统的单元测试涉及到隔离类的测试,不适合 GUI 组件。在 GUI 术语中,一个 “单元” 涉及多个 GUI 组件的协作,因此它本身包含不止一个类。

GUI 响应用户生成的事件。要测试 GUI,你需要一种可以模拟用户输入的方法,一直等到生成的事件散播给所有侦听者,然后检查结果,就像 GUI 响应用户一样。编写模拟用户与 GUI 交互的代码会很繁琐且易出错。

更改 GUI 的布局不应影响强健的功能测试。

另外一个问题就是您必须事先熟知要测试的 GUI 的结构和行为,否则您不知道自动化测试应使用哪些组件,且哪些内容需要验证。总而言之,要编写 GUI 测试,您必须知道:

1 2 3 4 5 6  下一页

Tags:调试 Swing

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接