【发布时间】:2013-02-05 09:42:44
【问题描述】:
我说的是 QT C++ 世界。我正在使用 QTest 类进行 TDD。我想验证在某些情况下,我的测试类是否引发了异常。使用谷歌测试,我会使用类似的东西:
EXPECT_THROW(A(NULL), nullPointerException);
QTest 中是否存在类似此功能的功能? O 至少有办法做到这一点?
谢谢!
【问题讨论】:
-
异常在 qt 世界中并不常见。 QTest 中没有针对此的特定宏,但您可以使用 QVERIFY 进行 try catch 块测试。或者,您也可以将 google test 与 qt 一起使用(出于多种原因,这比 qtest imho 好得多)
-
是的,此时我意识到 gtest 比 QTest 好得多。谢谢!
-
此外,gtest 支持 gmock,而 QTest 没有这样的功能。 QTest 真的只是用于休闲用途,而不是用于良好的 UT。如果您使用 gtest,您需要从 QTest 获得的唯一东西就是 QSignalSpy。在 gtest 中,所有其他方面都好得多。
-
第二个答案现在应该是正确的了!