Qt 测试框架是否支持比较指针列表或者我做错了什么?
我的单元测试源码如下:
QList<QString *> list1;
QList<QString *> list2;
list1.append(new QString("test"));
list2.append(new QString("test"));
QCOMPARE(list1, list2);
运行此测试后,我期待通过测试,但测试失败并显示以下输出:
********* Start testing of ConfigurationTest *********
Config: Using QtTest library 5.5.1, Qt 5.5.1 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 5.4.0 20160609)
FAIL! : ConfigurationTest::test_sample(default) Compared lists differ at index 0.
Actual (list1): <null>
Expected (list2): <null>
Loc: [../unittest/sample_test.cpp(32)]
Totals: 0 passed, 1 failed, 0 skipped, 0 blacklisted
********* Finished testing of ConfigurationTest *********
如果列表包含非指针元素,QCOMPARE 没有任何问题并返回“通过”输出。