我正在寻找一个关于如何使用modeltest来测试基于QAbstractItemModel的模型的好教程。我不知道如何解释显示的调试消息。
此外,我无法在QtCreator中配置modeltest项目以使用我的应用程序。包括 .pri / .pro不起作用。我收到一条错误,上面写着“没有规则来制定目标......”。在修复modeltest / modeltest.pro文件中的路径后,它开始编译。但我得到了这个奇怪的断言
ASSERT:“QTest :: testLogger”在文件c:\ ndk_buildrepos \ qt-desktop \ src \ testlib \ qtestlog.cpp,第232行
为什么会这样?
我的modeltest文件夹位于我的项目中。我在* .pro文件的末尾添加了以下行
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。
答案 0 :(得分:1)
这听起来有些过分 - 但事实上,它是ModelChecker开发人员想要做的事情;)当您点击其中一个断言时,请转到代码中的点,然后阅读与之一起写的评论。整个事情都得到了极大的评论,并描述了什么是破坏和可能的原因。如果您通过GUI调试器运行应用程序(例如KDevelop,Qt Creator或Visual Studio中包含的应用程序),这是最容易做到的。
答案 1 :(得分:1)
您收到此错误的原因是您实际上没有在正确的QTestLib测试用例中使用ModelTest。如果你看一下/ tests / auto / modeltest(你可能首先得到了modeltest类),你可以看看如何使用ModelTest正确构建一个测试用例。