java - 通过宏录制进行 GUI 单元测试

标签 java unit-testing junit

我最近接到一项任务,要为现有的独立 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/

相关文章:

java - Android 计算百分比

java - RxJavas 单。它的连接方法在哪里?

Eclipse:无法解析类型 org.hamcrest.core.CombinableMatcher$CombinableBothMatcher。它是从所需的 .class 文件间接引用的

python - Teamcity 消息 unittest 在 Python 2 中看不到测试

java - 使用 JMockit 模拟被测类的私有(private)方法

java - 在 JFreeChart 中显示值和系列名称

具有条件颜色变化的 JavaFx TableView ProgressBar

java - 组合与继承——这如何帮助单元测试?

java - Android Studio 无法解析导入 org.junit.Before 中的符号 'Before'

java - junit 中 assertThat() 的自定义错误消息?