Pertanyaan Siapkan tes Google di CLion


Saya telah duduk online berjam-jam sudah mencoba untuk mengatur tes Google pada Clion di Linux tetapi belum dapat menemukan apa pun.

Bisakah seseorang membimbing saya dengan pengaturan ini?


32
2017-11-10 19:56


asal


Jawaban:


Buat Proyek baru

  1. Buat repositori di folder ClionProjects saya
    • cd ~/ClionProjects
    • mkdir .repo
    • cd .repo
  2. Klon UnduhProject dari github
    • git clone https://github.com/Crascit/DownloadProject.git
  3. Buat proyek C ++ dengan direktori src dan uji

Tambahkan file berikut:

CMakeLists.txt

cmake_minimum_required(VERSION 3.3)

project(MyProjectName)

add_subdirectory(src)
add_subdirectory(test)

src / CMakeLists.txt

#set(core_SRCS ADD ALL SOURCE FILES HERE)

add_library(core ${core_SRCS})
add_executable(exe main.cpp)
target_link_libraries(exe core)

[Kami menyusun perpustakaan sehingga kami dapat memasukkannya ke dalam proyek Tes]

tes / CMakeLists.txt

cmake_minimum_required(VERSION 3.3)

set(REPO ~/ClionProjects/.repo)

project(Test)

project(Example)

include(CTest)
enable_testing()

#set(gtest_disable_pthreads on) #needed in MinGW
include(${REPO}/DownloadProject/DownloadProject.cmake)
download_project(
        PROJ                googletest
        GIT_REPOSITORY      https://github.com/google/googletest.git
        GIT_TAG             master
        UPDATE_DISCONNECTED 1
        )

add_subdirectory(${googletest_SOURCE_DIR} ${googletest_BINARY_DIR} EXCLUDE_FROM_ALL)

#set(test_SRCS ADD ALL TEST SOURCE FILES HERE)
add_executable(runUnitTests gtest.cpp ${test_SRCS})
target_link_libraries(runUnitTests gtest gmock core)
#add_test(runUnitTests runUnitTests) #included in all tutorials but I don't know what it actually does.

uji / gtest.cpp

#include "gtest/gtest.h"

int main(int argc, char **argv) {
    ::testing::InitGoogleTest(&argc, argv);
    return RUN_ALL_TESTS();
}

Catatan: jika Anda bekerja pada Proyek git, lebih baik menyertakannya DownloadProject.cmake dan DownloadProjects.CmakeLists.cmake.in file di dalam proyek.


32
2018-01-01 17:44



1.Git mengkloning uji-google Kerangka uji C ++

From https://github.com/google/googletest.git

2.Termasuk direktori uji-google

#Add the google test subdirectory
add_subdirectory(PATH_TO_GOOGLETEST)

#include googletest/include dir
include_directories(PATH_TO_GOOGLETEST/googletest/include)

#include the googlemock/include dir
include_directories(PATH_TO_GOOGLETEST/googlemock/include)

3. Tautkan eksekusi Anda dengan uji-google (Ini setelah membuat eksekusi Anda)

#Define your executable
add_executable(EXECUTABLE_NAME ${SOURCE_FILES})

#Link with GoogleTest
target_link_libraries(EXECUTABLE_NAME gtest gtest_main)

#Link with GoogleMock
target_link_libraries(EXECUTABLE_NAME gmock gmock_main)

3
2017-07-02 11:07



Berikut ini contoh kecil proyek C ++ 11 yang menggunakan GoogleTest yang hanya bergantung pada paket CMake fitur (terutama ExternalProject modul dan bekerja baik dari dalam CLion dan baris perintah * nix.

Versi ini menunjukkan ketergantungan "vendor", yang dapat berada di luar proyek jika diperlukan. Semua ketergantungan membangun 'kode sumber dan membangun artefak yang terkandung dalam proyek dan tidak mencemari build host. Itu ExternalProject Namun modul cukup mudah untuk menyesuaikan untuk mengunduh versi tertentu dari repo jarak jauh.

Beri tahu saya jika ada yang membutuhkan klarifikasi di README.


2
2017-08-11 18:06