Butuh beberapa saat bagi saya untuk mengetahuinya karena "make install" yang normal telah dihapus dan saya tidak menggunakan cmake. Berikut pengalaman saya untuk berbagi. Di tempat kerja, saya tidak memiliki akses root di Linux, jadi saya memasang kerangka pengujian Google di bawah direktori home saya:~/usr/gtest/
.
Untuk menginstal paket di ~/usr/gtest/ sebagai pustaka bersama, bersama dengan contoh build juga:
$ mkdir ~/temp
$ cd ~/temp
$ unzip gtest-1.7.0.zip
$ cd gtest-1.7.0
$ mkdir mybuild
$ cd mybuild
$ cmake -DBUILD_SHARED_LIBS=ON -Dgtest_build_samples=ON -G"Unix Makefiles" ..
$ make
$ cp -r ../include/gtest ~/usr/gtest/include/
$ cp lib*.so ~/usr/gtest/lib
Untuk memvalidasi penginstalan, gunakan test.c berikut sebagai contoh pengujian sederhana:
#include <gtest/gtest.h>
TEST(MathTest, TwoPlusTwoEqualsFour) {
EXPECT_EQ(2 + 2, 4);
}
int main(int argc, char **argv) {
::testing::InitGoogleTest( &argc, argv );
return RUN_ALL_TESTS();
}
Untuk mengkompilasi:
$ export GTEST_HOME=~/usr/gtest
$ export LD_LIBRARY_PATH=$GTEST_HOME/lib:$LD_LIBRARY_PATH
$ g++ -I $GTEST_HOME/include -L $GTEST_HOME/lib -lgtest -lgtest_main -lpthread test.cpp
Sebelum memulai, pastikan Anda telah membaca dan memahami catatan ini dari Google! Tutorial ini membuat penggunaan gtest menjadi mudah, tetapi dapat menimbulkan bug yang tidak menyenangkan.
1. Dapatkan framework googletest
wget https://github.com/google/googletest/archive/release-1.8.0.tar.gz
Atau mendapatkannya dengan tangan. Saya tidak akan mempertahankan Petunjuk kecil ini, jadi jika Anda menemukannya dan tautannya sudah usang, jangan ragu untuk mengeditnya.
2. Buka paket dan buat pengujian google
tar xf release-1.8.0.tar.gz
cd googletest-release-1.8.0
cmake -DBUILD_SHARED_LIBS=ON .
make
3. "Instal" header dan lib di sistem Anda.
Langkah ini mungkin berbeda dari distro ke distro, jadi pastikan Anda menyalin header dan lib di direktori yang benar. Saya menyelesaikan ini dengan memeriksa di mana letak lib gtest Debian sebelumnya. Tapi saya yakin ada cara yang lebih baik untuk melakukannya.
sudo cp -a googletest/include/gtest /usr/include
sudo cp -a googlemock/gtest/libgtest_main.so googlemock/gtest/libgtest.so /usr/lib/
# The easiest/best way:
make install # Note: before v1.11 this can be dangerous and is not supported
4. Perbarui cache penaut
... dan periksa apakah GNU Linker mengetahui libs
sudo ldconfig -v | grep gtest
Jika hasilnya terlihat seperti ini:
libgtest.so.0 -> libgtest.so.0.0.0
libgtest_main.so.0 -> libgtest_main.so.0.0.0
maka semuanya baik-baik saja.
gTestframework sekarang siap digunakan. Jangan lupa untuk menautkan proyek Anda ke perpustakaan dengan menyetel -lgtest
sebagai flag linker dan secara opsional, jika Anda tidak menulis mainroutine pengujian Anda sendiri, -lgtest_main
eksplisit bendera.
Dari sini Anda mungkin ingin membuka dokumentasi Google, dan dokumen lama tentang kerangka kerja untuk mempelajari cara kerjanya. Selamat membuat kode!
Edit: Ini juga berfungsi untuk OS X! Lihat "Cara menyiapkan googleTest dengan benar di OS X"
Biarkan saya menjawab ini khusus untuk pengguna ubuntu. Pertama mulai dengan menginstal paket pengembangan gtest.
sudo apt-get install libgtest-dev
Perhatikan bahwa paket ini hanya menginstal file sumber. Anda harus mengompilasi kode sendiri untuk membuat file pustaka yang diperlukan. File sumber ini harus ditempatkan di /usr/src/gtest. Jelajahi folder ini dan gunakan cmake untuk mengompilasi pustaka:
sudo apt-get install cmake # install cmake
cd /usr/src/gtest
sudo mkdir build
cd build
sudo cmake ..
sudo make
sudo make install
Sekarang untuk mengkompilasi program Anda yang menggunakan gtest, Anda harus menautkannya dengan:
-lgtest -lgtest_main -lpthread
Ini bekerja dengan sempurna untuk saya di Ubuntu 14.04LTS.