问题标签 [qtest]

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 回答
615 浏览

python - 如何在 QTest 中生成鼠标点击 QGraphicsWidget?

我想测试从面板按下按钮的功能。问题是按钮不是 QPushButtons,而是 QGraphicWidget 元素。

如何生成此按钮鼠标单击以测试其行为?

按钮不是简单的 QPushButtons,因为它们在鼠标悬停时具有特殊行为、动画等。这些按钮被添加到场景中,然后将场景添加到视图中,并将视图作为小部件添加到布局中。我可以看到可以使用以下方法单击视图:

但这并没有点击按钮。我也试过指定按钮的位置:

但由于某种原因,这是不受支持的论点

Button 类和 PanelWithButtons 类的代码 (panel_with_buttons.py):

测试.py:

作为输出,我收到鼠标点击第一个按钮(我可以看到'button1 clicked'),但我不知道如何生成点击第二个按钮。

0 投票
1 回答
157 浏览

c++ - 如何在自定义命名空间中将 QCOMPARE 与两个自定义类一起使用?

我在命名空间 MyNameSpace 中有一个类 MyClass,并且我在测试单元中定义了一个 == 运算符,因此可以对类进行编译。

单元测试没有“编译”,因为没有运算符 == 匹配 const MyNameSpace Myclass、MyNamespace MyClass,即使我在单元测试中有它。

不使用命名空间按预期工作。

假设我们有:

在测试单元中:

0 投票
0 回答
275 浏览

qt - 如何使用 QTest 模拟拖放操作

为了为小部件中的拖放错误创建测试用例,QTreeView我尝试模拟拖放鼠标移动行为。

我基本上选择了第一个元素QTreeView并希望它拖放到第三个元素上。我通过使用QTest::mousePress和的组合来做到这一点QTest::mouseMove。最后当然应该有 a QTest::mouseRelease,但我已经无法重现 mousePress 和 mouseMove。

这些是重现所需的步骤:

  1. 用户在第一个项目的中心移动鼠标
  2. 用户按下鼠标左键
  3. 用户按住鼠标左键并将鼠标移动到第三个项目的中心
  4. 用户释放鼠标左键

如果按照我可以看到的描述执行这些操作,则QTreeView小部件会做出适当的反应,并指示特殊的高光和垂直线,以防项目将在项目之间移动。

不幸的是,我的自动化测试无法重现这种行为。似乎QTest::mousePress按顺序调用会有所不同。也使用一对QTest::mousePressandQTest::mouseMove是不同的。

这是我的代码:

主文件

测试对象.h

测试对象.cpp

鼠标移动器.h

鼠标移动器.cpp

0 投票
1 回答
781 浏览

c++ - QTEST_MAIN 如何自动设置一切以运行测试?

我正在开发一个用 C++ 编写的现有项目,应用程序的入口点是:

我读过的文档中,这将创建一个标准的 Cmain()函数,但是对于如何调用应用程序测试或调用顺序或它的设置方式完全不清楚。

查看我拥有的项目中的类,没有类构造函数;类本身是从 QObject 派生的。它有 23 个私有插槽:其中一个称为“initTestCase”;其他是各种测试都以“测试”结尾。

插槽“InitTestCase”包含一个设置日志过滤规则的调用,仅此而已。编译并运行项目时,它会执行测试,但我看不到订单的来源或来源。

QTEST_MAIN在我的程序中实际做了什么,插槽是如何设置的,它如何知道要执行哪些测试?

0 投票
0 回答
121 浏览

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

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

0 投票
1 回答
108 浏览

java - 在 QTest Pulse 测试管理工具中,无法将测试场景链接到需求

我们可以设置一些规则、触发器、动作和常量来执行需求链接、场景链接、更新黄瓜 json 结果等,这些最终将反映在 Qtest Manager 中。这又与 Jira 相关联。所以我也可以看到 Jira 上的所有链接和执行状态。但是在执行 QTest Pulse 中的规则时,我遇到了错误。这是什么意思?

在此处输入图像描述

VMError:无法加载“@qasymphony/pulse-sdk”:未知类型。在 _require (/tmp/tmp-8224DLoF0tvd3tni/node_modules/vm2/lib/sandbox.js:324:10) 在 eval (eval at (/tmp/tmp-8224DLoF0tvd3tni/vm.js:7:3), :1:22 ) 在对象。(/tmp/tmp-8224DLoF0tvd3tni/vm.js:7:3) 在 NodeVM.run (/tmp/tmp-8224DLoF0tvd3tni/node_modules/vm2/lib/main.js:449:23) 在 [stdin]:52:34在 Script.runInThisContext (vm.js:116:20) 在 Object.runInThisContext (vm.js:306:38) 在 Object. ([stdin]-wrapper:9:26) 在 Module._compile (internal/modules/cjs/loader.js:955:30) at evalScript (internal/process/execution.js:80:25) { name: 'VMError ',代码:'ELOADFAIL' }" 结果:空

0 投票
1 回答
470 浏览

javascript - Nodejs - 将 json 对象传递给 event.handler 函数

提前道歉,因为这是我第一次使用 NodeJs。

我们正在使用一种名为 QTest Pulse 的产品。简单来说,我们有一个连接到 nodejs 文件的 webhook,该文件在服务器上执行并产生结果。我正在尝试设置我的本地环境来调试文件以对其进行更改。

我们通常使用如下的bash 脚本调用文件

payload.json包含如下数据

服务器parser.js上的文件包含

我试图创建一个名为runner.js的文件来调用 parser.js 中的事件

当我运行它时,我总是将 parser.js 中的 body 设置为未定义。我也尝试对值进行硬编码而不是从文件中读取,但仍然遇到同样的问题。提前致谢。

0 投票
1 回答
245 浏览

java - 使用 QTest API 将测试用例导出到 Excel

我通过 QTest 后端调用找到了一个 API,用于将测试用例导出到 Excel。

例如:https ://qtestnet.com/p/11111/portal/testdesign/export/testcase 。

但这不适用于邮递员或 Java。我觉得这是一个内部 API,没有向公众公开。 请让我知道是否有其他 API 用于从 QTest 导出测试用例。

0 投票
1 回答
89 浏览

c++ - 使用测试套件,如何让测试显示在 Qt5 的“测试”窗格视图中?

我基本上按照这里这里的说明在 Qt5 中设置了一个 TestSuite 。它按描述工作;然而; 当我从Projects视图切换到Tests视图时,它不会显示单个类测试,如下面的 TestsView 图像所示。我希望它能够显示我的测试类和各个函数槽。这对于我在调试或只想在测试类中执行单个测试函数时很有用。

我找到的解决方法:在 main.cpp 中,如果我实例化类并调用 qExec() 而不是对测试类实例使用 QOject*,那么它可以工作(在下面的 main.cpp 中显示);然而,这违背了测试套件类的目的。

测试视图

编辑:我正在使用 Qt Creator 4.1.2 和 Qt 5.13.2 (MSVC 2017)

0 投票
0 回答
95 浏览

qt - 如何测量 QT 中的测试覆盖率?

我使用 Qt Creator 4.8.2。

我已经有一个工作程序“A”并添加了一个子项目“B”进行测试。

我正在尝试使用 qtest 进行单元测试。

如何测量项目“A”的测试覆盖率?

如果你有例子,请评论它。