Qt单元测试

3

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

例如,在文档中,创建了一个QLineEdit,然后检查其值是否与特定值相同。

void testGUI()
{
   QLineEdit lineEdit;
   QTest::keyClicks(&lineEdit, "Hello");
   QCOMPARE(lineEdit.text(),QString("Hello"));
}

运行程序后,所有结果都会显示在控制台中。

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

如何进行GUI测试?


你看过这个网站吗:http://www.froglogic.com/squish/gui-testing/ - Atif
我有同样的问题。我不知道如何将Qt测试与我的应用程序一起使用。我查阅了几个教程,但是不知道如何将其与我的应用程序一起使用。我不是针对UI,我想知道如何使用Qt测试来测试我的应用程序。 - Hareen Laks
2个回答

3

我已阅读了“谦逊的对话框”文档,也阅读了《Qt基础》书籍中提供的文档以及Harald Fernengel的教程。但是我仍然困惑于如何在Qt框架中在小部件或GUI应用程序中使用单元测试。例如,假设我有一个QLineEdit,并且我想在运行时检查单词数是否在3到15之间。如何使用多个测试数据进行检查? - SAM

0

单元测试通常不包括用户界面。单元测试应该是每个单元(类/组件)的低级测试。然后,集成测试测试单元一起完成某些任务的工作。有时会在此处使用模拟对象来充当其他组件的替身,以验证行为是否符合预期。

在处理了单元测试和集成测试之后,UI测试应该相对简单。对于Qt项目,来自froglogic的跨平台GUI测试框架squish可能是您最好的选择。但是它是一个付费产品,如果您不需要其跨平台性质,则可以使用一些免费工具。大多数工具都涉及在某种仪器下运行应用程序,然后重放您与用户界面的交互,并验证文本字段等的值。

无论如何,我相信XCode和Visual Studio提供了一些基本的UI单元测试工具。这里还有一篇维基百科文章here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接