我目前正在使用QTestLib
为我的应用程序构建单元测试套件。它通常非常简单,但我会被困在如何验证“返回”参数上。例如,如果我有一个函数:
double pointLineSegmentDistance(const QVector2D& start,
const QVector2D& end,
const QVector2D& point,
bool& withinBounds);
该函数指定withinBounds
段距离分析的有界状态。如何让QCOMPARE
/ QVERIFY
宏分析它的状态?
答案 0 :(得分:2)
只需传递一个局部变量作为参数,然后验证/比较它的值:
bool withinBounds = false;
const double distance = pointLineSegmentDistance( ..., withinBounds );
QCOMPARE(distance + 1.0, 2.0); //qFuzzyCompare doesn't work well with 0.0
QVERIFY(withinBounds);