GTest Kurulumu
Çerçeveyi ekleyin ve çalıştırın
GTest Kurulumu, CoddyKit'te ücretsiz bir C++ Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, C++ Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. C++ Academy kursu toplamda 4 dersten oluşur.
Neden Bir Sınama Çatısı?
Google Test (GTest), yaygın olarak kullanılan bir C++ birim sınama çatısıdır. Kodunuzu otomatik olarak doğrulayabilmeniz için sınama kaydı, kapsamlı doğrulamalar, düzenekler ve anlaşılır raporlama sunar.
GTest'i Edinme
GTest'i edinmenin yaygın yolları:
- Sistem paketi (ör.
libgtest-dev) - GitHub'dan indirmek için CMake'de FetchContent kullanmak
- Projeye dahil edilmiş bir alt modül kullanmak
FetchContent, yeni projeler için en taşınabilir seçenektir.
FetchContent ile CMake
En küçük CMake kurulumu GoogleTest'i indirir ve ona bağlanır.
# 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)İlk Sınamanız
Bir sınama, bir sınama paketi adı ve sınama adı alan TEST makrosuyla bildirilir. İçinde doğrulamaları kullanırsınız.
#include <gtest/gtest.h>
int add(int a, int b) { return a + b; }
TEST(MathTest, AddsPositive) {
EXPECT_EQ(add(2, 3), 5);
}main() Gerekmez
GTest::gtest_main ile bağlanmak, kaydedilmiş tüm sınamaları çalıştıran main() işlevini sağlar. Yalnızca sınama durumlarını yazarsınız.
Kendi main İşlevinizi Yazma
Özel bir giriş noktası gerekiyorsa GTest'i kendiniz başlatın.
#include <gtest/gtest.h>
int main(int argc, char** argv) {
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}Derleme ve Çalıştırma
CMake'i yapılandırdıktan sonra derleyip çalıştırın.
cmake -S . -B buildcmake --build build./build/my_tests
GTest, başarılı/başarısız durumların renkli bir özetini yazdırır.
Çıktıyı Okuma
Her sınama önce [ RUN ], ardından [ OK ] veya [ FAILED ] bildirir. Son satırda kaç sınamanın başarılı olduğu gösterilir. Başarısızlıklarda dosya, satır ve beklenen-gerçek değerler yer alır.
Bir Alt Kümeyi Çalıştırma
Yalnızca eşleşen sınamaları çalıştırmak için --gtest_filter bayrağını kullanın; örneğin ./my_tests --gtest_filter=MathTest.*. Bu, odaklanmış hata ayıklamayı hızlandırır.
CTest ile Tümleştirme
enable_testing() çağrısını yapın ve ikili dosyayı gtest_discover_tests ile kaydedin; böylece ctest, sürekli tümleştirme ortamında paketinizi çalıştırabilir.
# CMakeLists.txt
enable_testing()
include(GoogleTest)
gtest_discover_tests(my_tests)Sağlıklı Bir İş Akışı
Başarısız bir sınama yazın, kodu uygulayın ve sınamanın başarılı olduğunu gözlemleyin. Sınamaları hızlı ve bağımsız tutun; böylece her değişiklikte çalıştırabilirsiniz.
Hızlı Kontrol
main() işlevinin nasıl sağlandığını hatırlayın.
Özet
Google Test'i kurdunuz.
- FetchContent, paket veya alt modül aracılığıyla edinin
TEST(Suite, Name)bir sınama bildirir- Otomatik bir
main()içingtest_mainile bağlanın - CTest ile derleyin, çalıştırın, filtreleyin ve tümleştirin
Sıkça Sorulan Sorular
“GTest Kurulumu” dersi ücretsiz mi?
Evet — “GTest Kurulumu” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve C++ Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. C++ Academy kursu toplamda 4 dersten oluşur.
“GTest Kurulumu” dersinde ne öğreneceğim?
Çerçeveyi ekleyin ve çalıştırın C++ Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
C++ Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te C++ Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“GTest Kurulumu” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu C++ Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her C++ Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.