GoogleTest run_all_tests tidak menemukan perlengkapan tes

Saya memiliki proyek C++ yang hanya terdiri dari pengujian Google. Proyek ini mereferensikan proyek lain (proyek yang sedang diuji). Saya memiliki folder sertakan dan sumber untuk file header dan implementasi. Saya membuat kelas perlengkapan pengujian Google dan membagi header dan implementasi ke dalam folder include dan source. Saya memiliki main.cpp yang berisi kode berikut:

//main.cpp
#include "../inc/zeroEstimatorTest.h"
#include "gtest/gtest.h"

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

Masalah yang saya alami adalah panggilan RUN_ALL_TESTS() tidak memanggil perlengkapan tes Google saya. Perlengkapan tes terletak pada pelaksanaan kelas tes. Ini terlihat seperti ini:

//zeroEstimatorTest.cpp
class zeroEstimatorTest : public ::testing:Test
{
...
};

TEST_F(zeroEstimatorTest, zeroTest)
{
...
}

Proyek dibangun dan dijalankan tetapi hasilnya adalah sebagai berikut:

[0;32m[==========] [mRunning 0 tests from 0 test cases.
[0;32m[==========] [m0 tests from 0 test cases ran. (0 ms total)
[0;32m[  PASSED  ] [m0 tests.

Saat ini saya menggunakan Eclipse (untuk pertama kalinya) dan saya menggunakan mesin Linux 64.

Hal-hal yang telah saya lakukan:

  • Kelas zeroEstimatorTest menyertakan "zeroEstimatorTest.h" di bagian atas.
  • #include "gtest/gtest.h" berada di bagian atas ketiga file (main.cpp, zeroEstimatorTest.h, dan zeroEstimatorTest.cpp)

Adakah yang bisa membantu?

Terima kasih banyak!


person supraMan    schedule 06.07.2015    source sumber


Jawaban (1)


Masalahnya adalah Anda tidak menyetel nama filter pengujian, coba inisialisasi pengujian google dengan --gtest_filter= ini dapat dilakukan menggunakan parameter fungsi utama.

person Anis Belaid    schedule 06.07.2015
comment
Saya telah mencoba menambahkan --gtest_filter=* ke argumen konfigurasi debug di dalam Eclipse dan itu tidak menyelesaikan masalah. Apakah ada kesalahan yang saya lakukan? Kalau tidak, saya juga melihat tes primer Google dan dikatakan sebagai berikut: Secara default, program Tes Google menjalankan semua tes yang telah ditentukan pengguna. - person supraMan; 06.07.2015
comment
Pastikan file zeroestimatetest.cpp dikompilasi dengan program pengujian Anda, ini bisa menjadi penyebab masalah Anda - person Anis Belaid; 07.07.2015