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!