【问题标题】:QTestLib - Verifying non-const reference argumentsQTestLib - 验证非常量引用参数
【发布时间】:2012-03-21 02:35:32
【问题描述】:

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

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

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

【问题讨论】:

    标签: unit-testing qt reference qtestlib


    【解决方案1】:

    只需传递一个局部变量作为参数,然后验证/比较它的值:

    bool withinBounds = false;
    const double distance = pointLineSegmentDistance( ..., withinBounds );
    QCOMPARE(distance + 1.0, 2.0); //qFuzzyCompare doesn't work well with 0.0
    QVERIFY(withinBounds);
    

    【讨论】:

    • QCOMPARE 行实际上应该是:QCOMPARE(distance + 1.0, expected + 1.0) 来处理零值。
    猜你喜欢
    • 1970-01-01
    • 2020-10-04
    • 2021-12-14
    • 2011-06-09
    • 2010-09-27
    • 2019-02-05
    • 2011-03-27
    • 2020-07-06
    相关资源
    最近更新 更多