我最近接到一项任务,要为现有的独立 Java GUI 应用程序编写单元测试。
到目前为止,我已经编写了一个应用程序,它允许人们通过记录鼠标和键盘输入(以及单个事件之间的时间)来创建宏并执行这些宏。这适用于检查应用程序是否存在严重错误,但目前无法检查底层 GUI 的数据。 如果我可以通过 JUnit 检查数据(assertequals 等),那就太好了。
我怎样才能做到这一点?这是一个值得反射(reflection)的案例吗?
最佳答案
除非编写框架是您作业的一部分,否则我建议您避免重新发明轮子。
有多种用于测试 swing UI 的框架,几乎所有框架都支持 junit。 看看fest-swing例如,它允许您从 Junit 测试您的 UI 组件。它还允许您断言下划线 UI 的属性(因此断言单击按钮后某个表应有 5 行,或者特定的小部件应处于特定状态等)
最好将其与您自己实现的模拟“后端”结合起来,或者使用模拟库来模拟您的服务器/业务逻辑 - 为此请查看 mockito
关于java - 通过宏录制进行 GUI 单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17482638/