0

我正在使用Qt 5.7& 单元测试,使用gtest或称为googletests

我有一个功能来测试哪个摄入量QQuickItem。为了测试这一点,我QQuickItem在我的单元测试运行时创建一个运行是否可以?

请注意,我确实有权访问QQmlApplicationEngine或任何 qml 文件,例如main.qml. 但是我应该能够dummy.qml在我的测试项目的资源中创建一个?
我还认为做 a#include <QQmlApplicationEngine>应该让我访问QQmlApplicationEngine?

如何在单元测试中创建具有一些有效宽度和高度QQuickItem的 C++ 代码中的虚拟对象,并在运行时将其传递给我的方法?

4

1 回答 1

3

拥有一个用于测试的隔离QQuickItem对象的最简单方法是使用QQuickView

QQuickView * view = new QQuickView;
view->setSource(QUrl(QStringLiteral("qrc:/dummy.qml")));
QQuickItem * dummyItem = view->rootObject();

由于大众需求:

// dummy.qml
import QtQuick 2.0

Item {
  width: 200
  height: 200
}
于 2017-08-11T19:25:19.890 回答