2016-12-10 89 views
0

我對travis ci的運行測試有點問題。我寫的CMakeLists.txt和.travis.yml文件,其中包含此代碼:在Travis ci上運行C++測試的麻煩。 Cmake配置。如何在Travis ci上運行測試套件?

language: cpp 
compiler: 
    - gcc 
install: 
    - sudo apt-get install libgtest-dev 
before_script: 
    - mkdir build 
    - cd build 
    - cmake --version 
    - cmake -DCMAKE_VERBOSE_MAKEFILE=ON .. 
script: make && make test 

和的CMakeLists.txt文件:

cmake_minimum_required(VERSION 2.6) 
project (CodeProject) 
project (TestProject) 

set(CMAKE_CXX_STANDARD 14) 
set(CMAKE_CXX_STANDARD_REQUIRED on) 

include_directories (${CodeProject_SOURCE_DIR}/code_src/) 
include_directories (${TestProject_SOURCE_DIR}/test_src/) 

set (CodeProject_SOURCES ${CodeProject_SOURCE_DIR}/code_src/main.cpp) 
set (TestProject_SOURCES ${TestProject_SOURCE_DIR}/test_src/mainTest.cpp) 


set(CMAKE_EXECUTABLE_OUTPUT_PATH "build/${CodeProject}") 
add_executable(CodeProject ${CodeProject_SOURCES}) 
add_executable(TestProject ${TestProject_SOURCES}) 

當我嘗試建立我的特拉維斯CI的解決方案,我收到此消息類型:

make: *** No rule to make target `test'. Stop. 
The command "make && make test" exited with 2. 

什麼問題?

+2

您是否使用過['enable_testing()'](https://cmake.org/cmake/help/v3.5/command/enable_testing.html)?我沒看到它。 –

回答

0

你必須先enable testingenable_testing()第一。每個測試都通過add_test()添加(需要exe目標)。

# ... 

# Enables 'test' target 
enable_testing() 

# Create your test executable 
add_executable(TestProject ${TestProject_SOURCES}) 
# Register the test 
add_test(NAME TestProject COMMAND TestProject) 

# Add further tests ...