Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing Qt单元测试_Unit Testing_Qt - Fatal编程技术网

Unit testing Qt单元测试

Unit testing Qt单元测试,unit-testing,qt,Unit Testing,Qt,我不熟悉Qt和单元测试。我已经阅读了单元测试的文档和示例,但是我不知道如何在应用程序中使用测试场景 例如,在文档中创建QLineEdit,然后使用特定值检查该值 void testGUI() { QLineEdit lineEdit; QTest::keyClicks(&lineEdit, "Hello"); QCOMPARE(lineEdit.text(),QString("Hello")); } 当我运行程序时,所有结果都显示在控制台中 但是,如何检查QMainW

我不熟悉Qt和单元测试。我已经阅读了单元测试的文档和示例,但是我不知道如何在应用程序中使用测试场景

例如,在文档中创建QLineEdit,然后使用特定值检查该值

void testGUI()
{
   QLineEdit lineEdit;
   QTest::keyClicks(&lineEdit, "Hello");
   QCOMPARE(lineEdit.text(),QString("Hello"));
}
当我运行程序时,所有结果都显示在控制台中

但是,如何检查QMainWindow表单中是否有QLineEdit和QPushButton


如何进行GUI测试?

您似乎正在研究GUI单元测试


你看:

单元测试通常不包括用户界面。单元测试应该是对每个单元(类/组件)的低级测试。然后,集成测试测试协同工作以完成某些任务的单元。有时,这里使用模拟对象作为其他组件的替代,因此请验证行为是否符合预期

在完成了单元测试和集成测试之后,UI测试应该会非常顺利。对于Qt项目,froglogic的跨平台gui测试框架可能是最好的选择。但是,它是一种付费产品,如果您不需要它的跨平台特性,您可以使用一些免费工具。大多数都归结为在某种工具下运行应用程序,然后它会重放与用户界面的交互,并验证文本字段的值等


无论如何,我相信XCode和VisualStudio提供了一些基本的ui单元测试工具。他们的文章也是一篇维基百科文章。

我已经阅读了“谦逊的对话框”文档。我还通过QT图书的基础上提供的文档,还有Harald Fernengel的教程。但我仍然对如何在小部件或GUI应用程序的qt框架中使用单元测试感到困惑。假设我有一个QLineEdit,我想在运行时检查字数是否在3到15之间。如何检查多个测试数据?你有没有研究过:我有同样的问题。我不知道Qt测试如何与我自己的应用程序一起使用。我看了好几本教程,但不知道如何在自己的应用程序中使用它。我不是针对UI,我想知道如何使用Qt测试测试我的应用程序。