查看 Qt 测试框架的一些宏,例如QCOMPARE
,这是代码:
#define QCOMPARE(actual, expected) \
do {\
if (!QTest::qCompare(actual, expected, #actual, #expected, __FILE__, __LINE__))\
return;\
} while (0)
如您所见,有一个while循环。我在 CryEngine 单元测试框架中也发现了同样的事情。我的问题很简单:是否有任何理由使用该循环,或者可能是旧实现留下的东西?