2016-12-10 91 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 ...