我正在寻找一个关于如何使用modeltest来测试基于QAbstractItemModel的模型的好教程。我不知道如何解释显示的调试信息。
我也有麻烦配置模型测试项目与我的应用程序在QtCreator工作。包括.pri/。Pro行不通。我得到一个错误说"没有规则的法师目标…"。修复modeltest/modeltest中的路径后。它开始编译Pro文件。但是我得到了这个奇怪的断言
ASSERT: "QTest::testLogger" in file c:ndk_buildreposqt-desktopsrctestlibqtestlog.cpp, line 232
知道为什么会这样吗?
我的modeltest文件夹位于我的项目中。我在*的末尾添加了下面一行。箴文件
include(modeltest/modeltest.pri)
modeltest。Pri文件包含以下
load(qttest_p4)
SOURCES += modeltest/modeltest.cpp modeltest/dynamictreemodel.cpp
HEADERS += modeltest/modeltest.h modeltest/dynamictreemodel.h
我修改了我的代码,以这种方式使用modeltest
model = new TasksModel(this);
new ModelTest(model, this);
ui->treeView->setModel(model);
TasksModel是我实现的QAbstractItemModel模型。ui->treeView是显示数据的小部件。
在将modeltest与我的应用程序集成时没有进行其他修改。
Qt版本为4.7
这听起来有点怪异-但实际上,ModelChecker开发人员打算让您做的事情;)当你击中一个断言时,转到代码中被击中的地方,并阅读与它一起写的注释。整件事都有大量的评论,并描述了什么是坏的和可能的原因。这是迄今为止最容易做到的,如果你运行你的应用程序通过GUI调试器,如包括在例如KDevelop, Qt Creator或Visual Studio。
您得到此错误的原因是因为您实际上没有在适当的QTestLib测试用例中使用ModelTest。如果您看一下/tests/auto/modeltest(您可能首先在这里获得了modeltest类),您可以看到如何使用modeltest正确地构造一个测试用例。