我刚刚开始使用qtestlib。我经历了 手动的教程. 。尽管我了解如何创建测试,但我只是没有得到如何使这些测试方便运行的方法。我的单位测试背景是Nunit和Mstest。在这些环境中,只需单击右键即可在运行单个测试或单个测试类中的所有测试或整个项目中的所有测试中进行替代,只是在运行单个测试或所有测试之间进行替代。

我在qtestlib中看到的只是您使用 QTEST_MAIN 宏以在单个类中运行测试,然后分别编译和测试每个文件;或使用 QTest::qExec()main() 定义要测试的对象,然后在要添加/删除测试类时手动更改并重新编译。

我确定我缺少一些东西。我希望能够轻松:

  • 运行单个测试方法
  • 在整个课程中运行测试
  • 运行所有测试

这些中的任何一个都会调用适当的设置 /拆卸功能。

编辑: 赏金现在可用。必须有一种更好的方法,或者是为您或其他东西处理的GUI测试跑步者。如果您在测试驱动的环境中使用QTTEST,请让我知道什么对您有用。 (脚本,测试跑者等)

有帮助吗?

解决方案

您只能通过将测试名称传递给选定的测试用例(测试方法) 命令行参数 :

myTests.exe myCaseOne myCaseTwo

它也将运行所有INIT/清理。不幸的是,没有支持通配符/模式匹配的支持,因此要运行以给定字符串开头的所有情况(我认为这是“在整个类中运行测试”的意思),您必须创建脚本(Windows Batch/ bash/perl/whitch)呼叫:

myTests.exe -functions

用第一语法解析结果并运行选定的测试。

要运行所有情况,请不要传递任何参数:

myTests.exe

其他提示

OP要求的三个功能如今已集成到 QT创建者.

该项目将自动扫描进行测试,并在测试窗格上进行测试。屏幕截图的左下角:

Qt Creator screenshot

可以通过单击复选框来启用每个测试和相应的数据。上下文菜单允许运行所有测试,所有类的测试,仅选择或仅一个测试。按照要求。

QT创建者也将获得测试结果。颜色指示器将显示每个测试的通行/失败,以及其他信息(例如调试消息)。

结合QT创建者,使用 QTEST_MAIN 每个测试用例的宏都可以正常工作,因为每个编译可执行的可执行文件均由QT创建者自动调用。

有关更详细的概述,请参阅 运行自动电击 QT创建手册的部分。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top