QML中GUI单元测试的目的是什么?

4

我做了一些关于Qt-Quick-Tests的研究,特别是GUI单元测试。 我想知道它的意图是什么?是为了触发在QML中编写的函数,还是我想看到UI的行为,或者是完全不同的东西,我还没有提到的吗?


1
这里有几天前的一篇帖子,可能对回答你的一些问题有用。 - Tarod
1个回答

4

我想知道意图是什么?

我猜主要原因Qt Test被编写是为了通过回归测试来测试Qt本身。Qt拥有一个持续集成(CI)系统,该系统通过代码审核运行自动化测试以针对贡献者提交的批量更改。您可以在每个Git存储库的tests目录中查看所有这些测试。例如,此处qtbase.git的自动化测试。

从这些测试中,您将看到有几个面向用户的应用程序,其中一些是:

  • 基本逻辑测试。例如,当我调用foo()时,我期望bar()信号被发出。这不仅适用于GUI应用程序,所有应用程序都可以从中受益。很多测试都属于这个类别。
  • 渲染测试。通过比较从屏幕“抓取”的图像来检查用户界面是否正确渲染。
  • 用户交互测试。如果我点击这个按钮,它会执行某些操作吗?如果我在这个文本框中输入文字,它会包含那个文本吗?
这些术语是我刚刚编造的,虽然准确度足够高。如果你正在研究这个主题,你会在网上找到有关各种类型自动化测试的资源。这与Qt无关。
“它是为了触发在QML中编写的函数吗?”
是的。
“还是说我想看UI的行为?”
也可以测试它。
请注意,有些应用程序过于庞大或复杂,无法通过Qt库进行测试。有一些像Squish这样的产品可以为这些类型的应用程序自动化GUI测试。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接