QtTest: запретить копирование исполняемого файла в систему - PullRequest
0 голосов
/ 11 июля 2019

Итак, я пишу какую-то библиотеку и решил провести для нее надлежащее модульное тестирование (например, TDD и т. Д.).Фреймворк QtTest выглядел подходящим для начала.С самой библиотекой все в порядке, так же как и с тестом.

Но когда я добавил библиотеку и тестовый проект в свой рабочий проект, сборка CI неожиданно завершилась неудачей.Случилось так, что тестовый исполняемый файл (LibraryTest.exe или аналогичный в Linux) копировался:

  • в% QTDIR% / tests в отдельной папке в Windows
  • в / usr /тесты в Linux

Мои настройки тестового проекта добавили это поведение к этапу сборки "install", вот они (важные):

QT += core testlib

# The problem is below
CONFIG += c++11 qt warn_on depend_includepath #testcase
CONFIG -= app_bundle

LIBS *= -L$$PWD -lmylibrary # not exact, does not matter

TARGET = LibraryTest

SOURCES += \
    tst_my_library_test.cpp

DEFINES *= QT_FORCE_ASSERTS

DESTDIR = $$PWD/bin

Как вы можете видеть, послекомментируя CONFIG += testcase, исполняемый файл больше не копируется.Я читал, что этот параметр конфигурации используется для автоматизированных тестов, который выглядит полезным, но ничего не написано о какой-либо специальной стадии установки.Испытательный исполняемый файл существует в DESTDIR просто отлично, так что это не какая-то случайная ошибка.

Мой вопрос: почему это происходит?Могу ли я указать другую папку?Автоматизация полезна, но даже если она будет реализована, она, вероятно, будет связана с более удобным каталогом.

Я неправильно готовлю QtTest?Заранее спасибо за внимание.

...