QmテストコードとCmakeでビルドしてCTestで走ったCMakeLists.txtの例を誰にでも教えてもらえますか?私は何かを見つけることができない!CMakeでQtテストを構築する
-Kurtis
QmテストコードとCmakeでビルドしてCTestで走ったCMakeLists.txtの例を誰にでも教えてもらえますか?私は何かを見つけることができない!CMakeでQtテストを構築する
-Kurtis
Charm(テスト/ CMakeLists.txt)から採取した例:
SET(TestApplication_SRCS TestApplication.cpp)
SET(TEST_LIBRARIES CharmCore ${QT_QTTEST_LIBRARY} ${QT_LIBRARIES})
SET(SqLiteStorageTests_SRCS SqLiteStorageTests.cpp)
QT4_AUTOMOC(${SqLiteStorageTests_SRCS})
ADD_EXECUTABLE(SqLiteStorageTests ${SqLiteStorageTests_SRCS})
TARGET_LINK_LIBRARIES(SqLiteStorageTests ${TEST_LIBRARIES})
ADD_TEST(NAME SqLiteStorageTests COMMAND SqLiteStorageTests)
通常実行への唯一の違いは、ADD_TESTマクロを呼び出すことです。 それを実際に見るチャーム。ここ
はcmake 2.8.11とQt5.2を用いた例です。 cmakeは、.moc-includeが下にあるテストファイルをサポートするようになりました。
CMakeLists.txt:
cmake_minimum_required(VERSION 2.8.11)
project(foo)
enable_testing()
# Tell CMake to run moc when necessary:
set(CMAKE_AUTOMOC ON)
# As moc files are generated in the binary dir, tell CMake
# to always look for includes there:
set(CMAKE_INCLUDE_CURRENT_DIR ON)
find_package(Qt5Test REQUIRED)
add_executable(foo foo.cpp)
add_test(foo foo)
target_link_libraries(foo Qt5::Test)
foo.cpp:
#include <QTest>
class Foo : public QObject {
Q_OBJECT
private slots:
void t1() { QVERIFY(true); }
};
QTEST_MAIN(Foo)
#include "foo.moc"
パーフェクト。驚くばかり。本当にありがとう。 –
これは、[このページ](http://qt-project.org/wiki/Writing_Unit_Tests)によると、誰かが時間を節約できるようになることを願っています: "CMakeはmocインクルードを持つqtestファイルをボトム。 –
これが当てはまる場合は、テストファイルも自動化する必要があります。 – jackyalcine