Итак, я пишу какую-то библиотеку и решил провести для нее надлежащее модульное тестирование (например, 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?Заранее спасибо за внимание.