0Pricing
C++ Academy · Pelajaran

Menyiapkan GTest

Tambahkan dan jalankan framework

Menyiapkan GTest adalah pelajaran C++ Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar C++ Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus C++ Academy mencakup 4 pelajaran total.

Mengapa Menggunakan Kerangka Pengujian?

Google Test (GTest) adalah kerangka kerja pengujian unit C++ yang banyak digunakan. Kerangka ini menyediakan pendaftaran pengujian, pernyataan yang lengkap, perlengkapan pengujian, dan pelaporan yang jelas sehingga Anda dapat memverifikasi kode secara otomatis.

Mendapatkan GTest

Cara umum untuk mendapatkan GTest:

  • Paket sistem, misalnya libgtest-dev
  • FetchContent dalam CMake yang mengambil sumber dari GitHub
  • Submodul yang disertakan langsung

FetchContent adalah pilihan paling portabel untuk proyek baru.

CMake dengan FetchContent

Penyiapan CMake minimal mengunduh GoogleTest dan menautkannya.

# CMakeLists.txt
include(FetchContent)
FetchContent_Declare(
  googletest
  URL https://github.com/google/googletest/archive/refs/tags/v1.14.0.zip
)
FetchContent_MakeAvailable(googletest)

add_executable(my_tests test_main.cpp)
target_link_libraries(my_tests GTest::gtest_main)

Pengujian Pertama Anda

Pengujian dideklarasikan dengan makro TEST yang menerima nama rangkaian pengujian dan nama pengujian. Di dalamnya, Anda menggunakan pernyataan.

#include <gtest/gtest.h>

int add(int a, int b) { return a + b; }

TEST(MathTest, AddsPositive) {
    EXPECT_EQ(add(2, 3), 5);
}

Tidak Memerlukan main()

Penautan dengan GTest::gtest_main menyediakan main() yang menjalankan semua pengujian terdaftar. Anda hanya perlu menulis kasus pengujian.

Menulis main Anda Sendiri

Jika Anda memerlukan titik masuk khusus, inisialisasikan GTest sendiri.

#include <gtest/gtest.h>

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

Membangun dan Menjalankan

Setelah mengonfigurasi CMake, bangun dan jalankan.

  • cmake -S . -B build
  • cmake --build build
  • ./build/my_tests

GTest mencetak ringkasan lulus/gagal berwarna.

Membaca Output

Setiap pengujian melaporkan [ RUN ], lalu [ OK ] atau [ FAILED ]. Baris terakhir menunjukkan jumlah pengujian yang berhasil. Kegagalan mencakup berkas, baris, serta nilai yang diharapkan dan nilai sebenarnya.

Menjalankan Sebagian Pengujian

Gunakan flag --gtest_filter untuk menjalankan hanya pengujian yang cocok, misalnya ./my_tests --gtest_filter=MathTest.*. Cara ini mempercepat penelusuran kesalahan yang terfokus.

Mengintegrasikan dengan CTest

Panggil enable_testing() dan daftarkan biner dengan gtest_discover_tests agar ctest dapat menjalankan rangkaian pengujian Anda dalam CI.

# CMakeLists.txt
enable_testing()
include(GoogleTest)
gtest_discover_tests(my_tests)

Alur Kerja yang Sehat

Tulis pengujian yang gagal, implementasikan kode, lalu amati hingga pengujian berhasil. Jaga agar pengujian tetap cepat dan independen sehingga Anda dapat menjalankannya pada setiap perubahan.

Pemeriksaan Singkat

Ingat kembali bagaimana main() disediakan.

Rangkuman

Anda telah menyiapkan Google Test.

  • Dapatkan melalui FetchContent, paket, atau submodul
  • TEST(Suite, Name) mendeklarasikan pengujian
  • Tautkan gtest_main untuk memperoleh main() otomatis
  • Bangun, jalankan, saring, dan integrasikan dengan CTest

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Menyiapkan GTest” gratis?

Ya — teks lengkap “Menyiapkan GTest” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus C++ Academy, upgrade ke CoddyKit PRO. Kursus C++ Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Menyiapkan GTest”?

Tambahkan dan jalankan framework Kamu berlatih C++ Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai C++ Academy?

Tidak diperlukan pengalaman sebelumnya. C++ Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “Menyiapkan GTest” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran C++ Academy ini?

Ya. Setiap pelajaran C++ Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Menyiapkan GTest
  2. Assertion dan Matcher
  3. Fixture dan Penyiapan
  4. Mocking dengan GMock
← Kembali ke C++ Academy