qt单元测试QTreeWidgetItem没有被声明
qt unit test QTreeWidgetItem has not been declared
我有一个非常糟糕的gui应用程序与类工具()。我想测试其他类树()在同一文件与单元测试。
我写了一个简单的空Tree类来尝试单元测试。
TOOLS.H
#ifndef TOOLS_H
#define TOOLS_H
#include "json.h"
#include <QString>
#include <QList>
#include <QSettings>
...
class Tools
{
public:
Tools();
static void createTree(Json::Value parsedJSON, treeElement *Element);
static void reloadTree(QTreeWidgetItem *item, treeElement *Element);
....
static QMap<QString, QString> Dictionary;
};
class Tree
{
public:
Tree();
};
#endif // TOOLS_H
这个文件中的大部分代码都是由QT自动生成的,我只写了isCreatable()。
当测试项目开始时,出现了这个错误。我不知道为什么不编译,但我猜是一些定义,包括错误。
TREE_TEST.cpp
#include <QString>
#include <QtTest>
#include "tools.h"
class TreeTest : public QObject
{
Q_OBJECT
public:
TreeTest();
private Q_SLOTS:
void isCreatable();
};
TreeTest::TreeTest()
{
}
void TreeTest::isCreatable()
{
Tree *newTree = NULL;
QVERIFY2(newTree == NULL, "Can't create empty Tree");
newTree = new Tree();
QVERIFY2(newTree != NULL, "Can't create new instance of Tree");
}
QTEST_APPLESS_MAIN(TreeTest)
#include "tst_treetest.moc"
这是我的测试文件。我包括测试项目的路径,以及依赖项(只是简单的json解析库)。
TREE_TEST.pro
#-------------------------------------------------
#
# Project created by QtCreator 2015-09-06T20:42:18
#
#-------------------------------------------------
QT += testlib gui
TARGET = tst_treetest
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
INCLUDEPATH += ../../dependencies/json
INCLUDEPATH += ../../
SOURCES += tst_treetest.cpp
DEFINES += SRCDIR=\"$$PWD/\"
请帮助我认识并解决这个问题。我不明白,怎么了…
<引用类>我的英语不是很好。请宽容一点。 引用类>目标添加到TREE_TEST.cpp #include <QTreeWidgetItem>
。然后添加到TREE_TEST。pro QT += widgets
我在那里找到了答案,在@Chernobyl的帮助下
注:如果要正确启动测试,则需要在TEST中附加被测试项目的所有标头和源。支持文件。因为有moc_*文件,所以需要它。
相关文章:
- 有什么好的方法可以让系统调用代理允许在单元测试中进行模拟
- 在子目录中使用target_sources()命令时用于单元测试(qtest)的项目结构
- VC++本机单元测试,找不到调试符号
- 用于交叉编译和CMake的预处理器宏的单元测试
- C++ 用于单元测试的模板模板
- 提升 1.64 单元测试编译失败
- 单元测试欧拉到四元数实现失败
- 运行 C++ 单元测试时LNK2005链接错误
- 禁用自动捕获 Googletest 单元测试中的C++异常
- 有没有办法在不使用 #ifdef 的情况下不编译发布版本中的单元测试函数体?
- 使用 Google Test 对自定义断言函数进行单元测试
- 如何将我的 CMake 项目配置为运行所有单元测试?
- 在Qt C++单元测试中动态加载QQuickWindow而不是QQuickWidget
- MS 本机单元测试 - 断言::线程失败不起作用
- 如何获取 CMake 单元测试的相对路径?
- QTimer 超时不会在单元测试中触发
- 如何在提升构建中设置环境变量以进行提升单元测试框架?
- 在 AtMega32a 上运行的C++的单元测试
- 在函数/类声明附近编写C++单元测试
- qt单元测试QTreeWidgetItem没有被声明