이 페이지에서

제6장: QSKIP을 사용하여 테스트 건너뛰기

테스트 함수에서 QSKIP(description) 사용

테스트 함수 내에서 QSKIP() 매크로를 호출하면, 테스트 로그에 실패 기록이 추가되지 않은 채 테스트 실행이 중단됩니다. 이 매크로는 실패가 확실한 테스트를 건너뛰는 데 사용할 수 있습니다. QSKIP description 매개변수에 지정된 텍스트는 테스트 로그에 추가되며, 테스트가 수행되지 않은 이유를 설명해야 합니다.

QSKIP은 구현이 아직 완료되지 않았거나 특정 플랫폼에서 지원되지 않는 경우 테스트를 건너뛰는 데 사용할 수 있습니다. 알려진 실패 사항이 있는 경우, 가능한 경우 나머지 테스트를 실행할 수 있도록 지원하는 QEXPECT_FAIL 을 사용하는 것이 좋습니다.

테스트 함수에서 QSKIP을 사용하는 예시:

if (tst_Databases::getMySqlVersion(db).section(QChar('.'), 0, 0).toInt() < 5)
    QSKIP("Test requires MySQL >= 5.0");

데이터 기반 테스트에서 QSKIP()을 호출할 때마다 현재 테스트 데이터 행만 건너뜁니다. 데이터 기반 테스트에 조건 없는 QSKIP 호출이 포함되어 있는 경우, 테스트 데이터의 각 행마다 건너뛰기 메시지가 생성됩니다.

_data 함수에서 QSKIP 사용

_data 함수에서 호출될 경우, QSKIP() 매크로는 _data 함수의 실행을 중지합니다. 이로 인해 관련 테스트 함수의 실행이 차단됩니다.

다음은 그 예시입니다:

    QTest::addColumn<bool>("bool");
    QTest::newRow("local.1") << false;
    QTest::newRow("local.2") << true;

    QSKIP("skipping all");

initTestCase() 또는 initTestCase_data()에서 QSKIP 사용

initTestCase() 또는 initTestCase_data() 에서 호출될 경우, QSKIP() 매크로는 모든 테스트 함수와 _data 함수를 건너뜁니다.

‘테스트를 제외하기 위한 적절한 메커니즘 선택’항목도 참조하십시오 .

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.