0

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

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

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

4

1 回答 1

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);
于 2012-03-20T13:15:51.063 回答