QTestLib - 验证非const引用参数

时间:2012-03-20 12:27:15

标签: unit-testing qt reference qtestlib

我目前正在使用QTestLib为我的应用程序构建单元测试套件。它通常非常简单,但我会被困在如何验证“返回”参数上。例如,如果我有一个函数:

double pointLineSegmentDistance(const QVector2D& start,
                                const QVector2D& end,
                                const QVector2D& point,
                                bool& withinBounds);

该函数指定withinBounds段距离分析的有界状态。如何让QCOMPARE / QVERIFY宏分析它的状态?

1 个答案:

答案 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);