问题标签 [qttest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1293 浏览

qt - Qt "monkey" 测试 - 模拟随机点击和按键

是否有一个框架来模拟施加在 Qt 应用程序上的确定性伪随机系列点击 - 以尝试触发任何内存泄漏、线程错误等 - 典型的猴子测试?

QTestLib 的一些异国情调的猴子用途?

0 投票
1 回答
2139 浏览

qt - 使用 QTestLib 测试我的课程

我需要在 Qt 中为我的学校项目做一些单元测试,虽然我已经阅读了 Qt 教程,但我无法弄清楚我应该如何编写这样的测试。我提到的教程中显示的所有测试都是指内置方法。我应该如何为自定义类编写单元测试说这是我拥有的最简单的类:

任务.h

任务.cpp

我试图将这个类#include 到测试类中,并将 .h 和 .cpp 文件添加到项目中,但我没有做任何事情。任何人都可以为上述类编写一些示例测试方法(用于 toString 方法和构造函数),以便我可以继续自己的其余部分。提前致谢。

0 投票
2 回答
522 浏览

c++ - 不知道如何使用 QtTest

我想对我使用 Qt 在 c++ 中完成的一些简单练习进行单元测试。我认为使用 QtTest 似乎是一个合理的起点。

我有一个返回整数的类,我想测试预期结果是否与实际结果相同。

我是否正确地认为我在项目中创建了一个新的 C++ 源文件以用作 QtTest

这是我所拥有的,但是通过阅读 Qt 文档我无法弄清楚我必须做什么?

这是我在阅读文档后产生的,但现在我如何运行它并获得(我认为是)控制台输出,显示通过/失败?

任何帮助都会非常感谢

0 投票
1 回答
1578 浏览

c++ - 比较字符串时 QtTest 失败,即使它们相同?C++

我有一个比较两个字符串值的 QtTest:

然后是 QCOMPARE:

我得到了错误:(我把两者都发布了,所以很明显它不仅仅是 QString 失败了,所以下面是使用 QString 来显示值的 QCOMPARE)

这是正常的 QCOMPARE 错误消息:

这背后显然有其他代码,但我现在没有发布它,因为我认为它不是特别相关,但询问是否有你想知道的东西,据我所知,这个测试应该通过,但也许有一些我不知道比较字符串的东西(除非您使用模糊比较,否则比较双打如何失败)

提前致谢

0 投票
3 回答
1913 浏览

qt-creator - Qt 测试单元:错误:未定义对 `imp__ZN5Q 的引用

我正在尝试按照本教程创建一个“Qt 单元测试” 。我创建了一个新项目:Qt Gui Application,上面有一个头文件和一个包含测试函数的类。我添加#CONFIG += testlib到我的".pro" file. 但是,当我运行我的代码时,我得到了这个错误:

在函数“simulateEvent”中:

  • 错误:未定义对 `_imp___ZN5QTest15defaultKeyDelayEv' 的引用
  • 错误:未定义对 `_imp___ZN5QTest15defaultKeyDelayEv' 的引用
  • 错误:未定义引用`_imp___ZN5QTest5qWarnEPKcS1_i'

然后在函数'mouseEvent'中:

  • 错误:未定义对 `_imp___ZN5QTest17defaultMouseDelayEv' 的引用
  • 错误:未定义对 `_imp___ZN5QTest17defaultMouseDelayEv' 的引用
  • 错误:未定义对 `_imp___ZN5QTest17defaultMouseDelayEv' 的引用
  • 错误:未定义对 `_imp___ZN5QTest17defaultMouseDelayEv' 的引用
  • 错误:未定义引用`_imp___ZN5QTest5qWarnEPKcS1_i'

然后再次在函数“simulateEvent”中:

  • 错误:未定义对 `_imp___ZN5QTest15defaultKeyDelayEv' 的引用
  • 错误:未定义对 `_imp___ZN5QTest15defaultKeyDelayEv' 的引用
  • 错误:未定义引用`_imp___ZN5QTest5qWarnEPKcS1_i'

然后再次在函数“mouseEvent”中:

  • 错误:未定义对 `_imp___ZN5QTest17defaultMouseDelayEv' 的引用
  • 错误:未定义对 `_imp___ZN5QTest17defaultMouseDelayEv' 的引用
  • 错误:未定义对 `_imp___ZN5QTest17defaultMouseDelayEv' 的引用
  • 错误:未定义对 `_imp___ZN5QTest17defaultMouseDelayEv' 的引用
  • 错误:未定义引用`_imp___ZN5QTest5qWarnEPKcS1_i'

我找不到任何解释,因为一切看起来都正确。我错过了什么?

0 投票
1 回答
1572 浏览

python - 如何使用 QTest 发送菜单项的键盘快捷键?

在单元测试中,我试图发送键盘快捷键 Command+N(在 Mac OS 上),它对应于我的应用程序中的一个菜单项。我正在使用 PySide.QtTest 模块。

在下面的代码中,我使用的是QTest.keyClicks,它不会产生我期望的结果。不调用快捷方式对应的动作。

一些问题:

  • 我应该把它发送到窗口本身吗?还是到菜单栏?似乎都没有工作...
  • 这是发送键盘快捷键的正确方法吗?
0 投票
1 回答
1866 浏览

c++ - 没有 x 服务器的 QtTest 控制台应用程序

我对我的项目进行了一些单元测试,这些测试是使用 QtTest 框架进行的。它是一个控制台应用程序,实际上除了 QtTest 之外,我不使用 Qt 中的任何东西。

在我的计算机上它工作正常,但是我在 Travis 上设置持续集成,我得到:

我尝试运行我的应用程序,-platform offscreen正如我在另一个线程上看到的那样,但它似乎没有改变任何东西。

.pro 中有这些行:

我的main.cpp样子是这样的:

someTest()是一个纯数学函数,它会调用QVERIFY. 谢谢!

0 投票
2 回答
1993 浏览

c++ - QTestLib 是否可以在运行时显示它正在测试的 GUI?

用例是,我有一个 Qt 应用程序,我想自动化用户风格的测试;也就是说,我想使用 keyClicks()、mouseClick() 等,但我希望 Qt 应用程序窗口在发生这种情况时实际显示。

我现在遇到的问题是使用 QTestLib 涉及使用 QTEST_MAIN 宏而不是自己定义 main ,所以我从来没有机会 show() 正在测试的小部件。所以,这个问题的另一种说法是,有没有办法在使用其主要功能的应用程序上使用 QTestLib?

我知道 Squish 和可能的 Testability Driver 能够做到这一点,但如果可以在不使用额外工具的情况下获得此功能,那将是理想的。

0 投票
1 回答
1858 浏览

python - QMessageBox 的功能测试...为什么不起作用?

我将为使用 PyQt(或 PySide)作为 GUI 库的 pyqt 应用程序开发一些功能测试。测试使用 Unittest 和 Qttest 库,正如许多资源中所报告的那样,例如这个 stackoverflow 问题:单元和功能测试基于 PySide 的应用程序? 对于主窗口,一切正常,并且代码完美地模拟了键盘类型和鼠标点击和移动,但是“魔鬼在细节中”......而且这种方法不适用于 QMessageBox。

在主窗口的类中,为了管理IOError打开文件,我初始化了一个 QMessageBox:

为了测试它是如何工作的,在功能测试中我有:

或者,在替代方案中:

但是没有人工作......并且没有单击“确定”按钮,我可以用鼠标指针完成它:(

有什么建议么?

0 投票
1 回答
438 浏览

qt - 以编程方式访问 QFiledialog

我正在尝试在 QT 创建的应用程序中进行系统测试。我遇到了以下问题。在我的应用程序中打开菜单操作会触发 QFileDialog。我有相同的句柄(指针)。但我不确定如何选择所需的文件并触发打开操作。

以下是我尝试过的事情:

请注意,我没有采取任何行动