0

現在、を使用して、アプリケーションの単体テストスイートを構築していますQTestLib。これは一般的に非常に簡単ですが、「return」引数を検証する方法に固執しています。たとえば、関数がある場合:

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 に答える