问题标签 [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 投票
1 回答
280 浏览

c++ - 使用命名空间的 QT 测试

我在 QT5 中使用 QT 测试,并注意到他们的文档(https://doc.qt.io/qt-5/qttestlib-tutorial1-example.html#writing-a-test)中没有使用自定义(非-QT) 命名空间,实际上甚至没有引用 QT 命名空间。

我尝试使用命名空间,考虑到这对 c++ 来说是更好的做法,但随后测试无法正常工作。

这是 QT 文档提供的第一个示例: https ://code.qt.io/cgit/qt/qtbase.git/tree/examples/qtestlib/tutorial1/testqstring.cpp?h=5.13

使用命名空间我创建了在使用 QT 测试时应该做的事情还是不必要的?

0 投票
0 回答
93 浏览

c++ - QT 测试主要多重定义,但使用该宏创建应用程序

我正在尝试为我在 QT 中的每个类创建一个新的测试类。我有这个使用单个文件,但这依赖于 QTEST_MAIN 为我创建一个应用程序并在多个文件中调用它会创建一个多重定义错误。

我曾尝试自己创建一个 main(),然后运行一个 qExec,但没有成功。我正在使用 SCONS 进行构建,但没有找到任何资源可以在该构建系统中进行该工作。

这是我最近失败的尝试:

有没有一种干净的方法可以在不使用 QTEST_MAIN 宏的情况下实现这样的事情,或者使用它来调用单个插槽,然后从单独的类中收集所有测试?

我发现的所有其他解决方案都创建了一个新的主要解决方案,我宁愿不这样做,因为它会产生更多设置问题,例如创建一个必须接受所有类和重复代码的部分的 QApplication。

0 投票
1 回答
127 浏览

c++ - 如果出现警告,如何立即使自动测试失败

我想在测试代码中打印警告时立即使任何自动测试失败,这样我就不会在输出中错过它,并在以后出现奇怪的测试失败。

我想我可以用qInstallMessageHandler()这个。我从这里修改了示例:

但是,测试应用程序并没有按预期提前退出:

我在消息处理函数中放置了一个断点,它没有被命中一次。这是怎么回事?

0 投票
1 回答
80 浏览

qt - 使用 QtTest 对 QWizard 进行单元测试

我正在为我的 QT 应用程序编写单元测试用例,其中包含QWizard. 我正在使用QtTest框架。但是我无法在我的向导页面上单击“下一步”按钮。

第二initializePage页没有被调用,所以我认为没有点击下一步按钮。单元测试时如何进入下一页?

0 投票
0 回答
121 浏览

qt - 如何将 Qt 测试框架与 Qt C++ 集成

我已经创建了一个 Qt 项目,我想用它进行 Qt 单元测试我如何在 Qt C++ 中包含单元测试。有人可以建议一种集成它的方法吗?

0 投票
0 回答
139 浏览

python - 如何在 QListWidgetItem 上模拟 QTest.mousePress 事件?

如果问题已经被问过,请原谅我,但我无法在任何地方找到答案。

我正在尝试测试一个包含 QListWidget 和 QTreeWidget 的小 gui。更具体地说,我想测试从 QListWidget 的 QListWidgetItem 之一到 QTreeWidget 的拖放行为。用户界面按预期工作,但是当我尝试在项目上使用 QTest.mousePress() 测试拖放行为时出现问题,因为此方法仅将 QWidget 作为输入,而不是 QListWidgetItem。

我想用类似的东西来测试它:

理想情况下,我需要一个适用于 python 2 和 3 的解决方案,如果有帮助,我正在使用 pytest。任何想法将不胜感激:)

0 投票
1 回答
93 浏览

googletest - 如何在谷歌测试中使用 QAbstractItemModelTester?

我使用 googletest 作为 Qt 项目的主要测试框架。QAbstractItemModelTester 有助于捕捉自定义项目模型类中最常见的错误,但我不知道如何在 googletest 单元测试中集成报告的故障(QTest)。

0 投票
1 回答
314 浏览

c++ - 如何使用 Qt Test 模块来测试我自己的应用程序?

我有一个简单的控制台应用程序,如下所示,我想学习如何使用 Qt Test 来测试它的功能。老实说,我正在尝试学习如何使用 Qt 测试模块。

我的应用程序.pro

主文件

笔芯

简单地说,它只是一个简单的应用程序。

我浏览了有关 Qt Test 模块的 Qt 文档,并找到了以下示例代码来运行测试。但它在 QString 上进行测试,这是 Qt 本身的一个类。

我的问题是我应该如何使用 Qt Test 来测试我自己的应用程序。

我知道我可以在 QtCreator 中添加一个测试模块作为其他项目 - > Qt 单元测试,但我不知道如何将它与我自己的应用程序链接。

提前致谢。

0 投票
1 回答
52 浏览

qt - 关于 Qt Test 的四个特殊插槽使用的真实世界代码示例

我正在研究 Qt Test 并且知道有四个特殊的插槽在测试用例之前和之后执行。

  1. initTestCase() 将在第一个测试函数执行之前被调用。
  2. cleanupTestCase() 将在最后一个测试函数执行后被调用。
  3. init() 将在每个 testfunction 执行之前被调用。
  4. cleanup() 将在每个 testfunction 之后调用。

我知道如何使用它们作为 Qt 文档中的一个明确示例。

但是我的问题是我想查看这些插槽的真实使用情况,而不是打印示例 qDebug。在这些插槽中可以更改什么?

0 投票
0 回答
44 浏览

c++ - 在库项目中使用 QtTest

我对应该如何在库项目(Windows)中使用 QtTest FrameWork 感到困惑。我创建了一个库项目并添加了一些测试,但尝试运行测试时遇到了很多问题。解决我的问题的关键是设置:

但是,我正在制作一个 lib……app 也制作一个 exe,而不是一个 dll。我真的希望在测试和更改为“lib”以实际构建库时不必手动将项目文件更改为“app”。这似乎是徒劳的。

那么,库项目中的 QtTests 是怎么回事?

谢谢