日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

現(xiàn)代CMake集成GoogleTest:自動化依賴管理與生產(chǎn)級單元測試實(shí)踐

現(xiàn)代CMake集成GoogleTest:自動化依賴管理與生產(chǎn)級單元測試實(shí)踐 1. 項(xiàng)目概述為什么我們需要一個(gè)GoogleTest與CMake的實(shí)踐示例如果你是一名C開發(fā)者無論你是剛?cè)胄械男率诌€是已經(jīng)寫了幾年業(yè)務(wù)邏輯的老手遲早有一天你會被問到“你的代碼有單元測試嗎” 這個(gè)問題背后是軟件質(zhì)量、重構(gòu)信心和團(tuán)隊(duì)協(xié)作效率的基石。而當(dāng)我們談?wù)揅的單元測試時(shí)GoogleTest簡稱gtest幾乎是繞不開的名字它強(qiáng)大、穩(wěn)定是Google內(nèi)部廣泛使用的測試框架。但另一個(gè)更現(xiàn)實(shí)的問題是如何把它優(yōu)雅地、可維護(hù)地集成到你的項(xiàng)目構(gòu)建流程里這時(shí)CMake就登場了。我見過太多項(xiàng)目測試代碼的構(gòu)建是一團(tuán)亂麻。有的直接把gtest源碼拖進(jìn)項(xiàng)目目錄有的寫死絕對路徑有的甚至手動編譯gtest庫再配置一堆復(fù)雜的鏈接器選項(xiàng)。這些做法在項(xiàng)目初期或許能跑起來但隨著項(xiàng)目迭代、團(tuán)隊(duì)人員變動、跨平臺需求出現(xiàn)維護(hù)成本會指數(shù)級上升。最終測試代碼本身成了“不敢碰”的遺留代碼。這個(gè)開源示例項(xiàng)目就是為了解決這個(gè)“最后一公里”的問題。它不是一個(gè)簡單的“Hello World”測試而是一個(gè)完整的、生產(chǎn)可用的、基于現(xiàn)代CMake最佳實(shí)踐的單元測試集成樣板。它展示了如何用CMake的FetchContent模塊自動下載和管理gtest依賴如何組織測試目錄結(jié)構(gòu)如何編寫清晰有效的測試用例以及如何一鍵運(yùn)行所有測試并生成報(bào)告。無論你是在啟動一個(gè)新項(xiàng)目還是打算為一個(gè)遺留項(xiàng)目引入單元測試這個(gè)示例都能給你一個(gè)可以直接復(fù)制粘貼的起點(diǎn)讓你避開我當(dāng)年踩過的所有坑。2. 核心設(shè)計(jì)思路現(xiàn)代CMake與自動化依賴管理2.1 為什么選擇“FetchContent”而非手動管理在過去集成第三方庫如gtest常見做法無外乎兩種1將源碼作為子模塊git submodule放入項(xiàng)目2預(yù)編譯成庫文件讓開發(fā)者自行安裝到系統(tǒng)路徑。第一種方式會讓你的倉庫體積膨脹且版本更新麻煩第二種方式則對開發(fā)環(huán)境有強(qiáng)要求“在我機(jī)器上能跑”的噩夢由此開始?,F(xiàn)代CMake3.11版本及以上提供的FetchContent模塊提供了一種更優(yōu)雅的解決方案它在配置階段configure time動態(tài)地從網(wǎng)絡(luò)如GitHub獲取依賴項(xiàng)的源碼然后像處理項(xiàng)目內(nèi)子目錄一樣處理它。這樣做的好處顯而易見環(huán)境無關(guān)性任何克隆了你項(xiàng)目的開發(fā)者只需要有CMake、編譯器和網(wǎng)絡(luò)就能一鍵構(gòu)建包括測試依賴。無需手動安裝gtest。版本鎖定你可以在CMakeLists.txt中精確指定依賴的版本或提交哈希確保團(tuán)隊(duì)所有成員以及CI/CD服務(wù)器使用完全一致的測試框架版本避免因版本差異導(dǎo)致的測試行為不一致。干凈的項(xiàng)目結(jié)構(gòu)你的項(xiàng)目倉庫里不再需要包含第三方庫的源碼保持專注和輕量。在這個(gè)示例項(xiàng)目中我們正是采用了FetchContent來引入GoogleTest。這是當(dāng)前C生態(tài)中管理此類開發(fā)依賴的事實(shí)標(biāo)準(zhǔn)做法。2.2 項(xiàng)目結(jié)構(gòu)設(shè)計(jì)分離關(guān)注點(diǎn)一個(gè)清晰的目錄結(jié)構(gòu)是項(xiàng)目可維護(hù)性的第一步。示例項(xiàng)目的結(jié)構(gòu)通常如下所示my_project/ ├── CMakeLists.txt # 項(xiàng)目根CMake配置 ├── include/ # 公共頭文件 │ └── my_math.h ├── src/ # 項(xiàng)目源碼 │ ├── CMakeLists.txt │ └── my_math.cpp └── tests/ # 測試代碼目錄 ├── CMakeLists.txt # 測試專用的CMake配置 └── test_my_math.cpp # 具體的測試用例文件關(guān)鍵點(diǎn)解析src/和tests/目錄下各有自己的CMakeLists.txt。這符合CMake的“模塊化”思想根文件通過add_subdirectory()來組織它們。產(chǎn)品代碼src和測試代碼tests物理分離。這避免了測試代碼被意外打包到發(fā)布版本中也使得概念上更加清晰。頭文件放在include目錄并在CMake中通過target_include_directories()將其接口公開這樣測試代碼和主程序都能以統(tǒng)一的方式包含頭文件。注意有些項(xiàng)目喜歡把測試文件放在每個(gè)源文件旁邊如my_math.cpp和my_math_test.cpp在同一目錄。這有其便利性但混合了生產(chǎn)與測試邏輯。對于中大型項(xiàng)目集中式的tests/目錄更利于管理和運(yùn)行例如一鍵運(yùn)行所有測試。本示例采用后者這是一種更普適和可擴(kuò)展的模式。3. 實(shí)操詳解一步步構(gòu)建你的測試體系3.1 根CMakeLists.txt的配置藝術(shù)根目錄的CMakeLists.txt是整個(gè)項(xiàng)目的總控中心。除了定義項(xiàng)目名、版本、語言標(biāo)準(zhǔn)這些基礎(chǔ)信息外它的核心任務(wù)是引入依賴并組織子目錄。cmake_minimum_required(VERSION 3.14) # 確保支持FetchContent project(MyAwesomeProject VERSION 1.0.0 LANGUAGES CXX) # 設(shè)置C標(biāo)準(zhǔn)并令其特性在目標(biāo)間傳遞這是現(xiàn)代CMake的推薦做法 set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) # 關(guān)鍵步驟引入FetchContent模塊 include(FetchContent) # 聲明GoogleTest依賴 FetchContent_Declare( googletest GIT_REPOSITORY https://github.com/google/googletest.git GIT_TAG release-1.14.0 # 指定一個(gè)穩(wěn)定版本標(biāo)簽 ) # 使依賴可用如果未準(zhǔn)備好則下載并構(gòu)建 FetchContent_MakeAvailable(googletest) # 添加源碼目錄和測試目錄 add_subdirectory(src) # 通常我們只在特定構(gòu)建配置如Debug或顯式要求時(shí)構(gòu)建測試 option(BUILD_TESTS Build the unit tests ON) if(BUILD_TESTS) add_subdirectory(tests) endif()參數(shù)與選擇背后的邏輯CMAKE_CXX_STANDARD_REQUIRED ON這個(gè)設(shè)置非常關(guān)鍵。它告訴CMake如果編譯器不支持你指定的C17標(biāo)準(zhǔn)就直接報(bào)錯(cuò)失敗而不是靜默降級。這能保證你的代碼在所有開發(fā)者的環(huán)境里語法一致。GIT_TAG release-1.14.0這里強(qiáng)烈建議使用具體的發(fā)布版本標(biāo)簽如release-1.14.0而不是main分支。main分支的代碼處于開發(fā)狀態(tài)可能不穩(wěn)定。鎖定一個(gè)已知的穩(wěn)定版本是保證項(xiàng)目長期可復(fù)現(xiàn)構(gòu)建的基礎(chǔ)。option(BUILD_TESTS ... ON)這里定義了一個(gè)CMake選項(xiàng)。在命令行你可以通過-DBUILD_TESTSOFF來跳過測試構(gòu)建加快編譯速度。默認(rèn)設(shè)為ON是為了鼓勵測試但給了使用者關(guān)閉的靈活性。3.2 編寫產(chǎn)品代碼與對應(yīng)的測試用例讓我們假設(shè)一個(gè)極簡的產(chǎn)品代碼一個(gè)數(shù)學(xué)工具庫。include/my_math.h:#pragma once namespace my_math { int add(int a, int b); int divide(int dividend, int divisor); // 可能拋出異常 }src/my_math.cpp:#include my_math.h namespace my_math { int add(int a, int b) { return a b; } int divide(int dividend, int divisor) { if (divisor 0) { throw std::invalid_argument(Divisor cannot be zero!); } return dividend / divisor; } }對應(yīng)的測試文件tests/test_my_math.cpp#include gtest/gtest.h // 由FetchContent引入路徑已自動設(shè)置好 #include my_math.h // 引用項(xiàng)目頭文件 namespace { TEST(MathTest, AddPositiveNumbers) { EXPECT_EQ(my_math::add(1, 2), 3); EXPECT_EQ(my_math::add(10, 20), 30); } TEST(MathTest, AddWithZero) { EXPECT_EQ(my_math::add(0, 5), 5); EXPECT_EQ(my_math::add(5, 0), 5); } TEST(MathTest, DivideNormal) { EXPECT_EQ(my_math::divide(10, 2), 5); EXPECT_EQ(my_math::divide(9, 3), 3); } TEST(MathTest, DivideByZeroThrows) { EXPECT_THROW(my_math::divide(10, 0), std::invalid_argument); // 也可以測試異常的具體信息 // EXPECT_THROW_MESSAGE(...) 需要gtest 1.11 } } // namespace測試用例設(shè)計(jì)心得一個(gè)測試點(diǎn)一個(gè)TESTAddPositiveNumbers和AddWithZero雖然都測試add但關(guān)注點(diǎn)不同。分開寫有利于測試失敗時(shí)快速定位。使用明確的斷言EXPECT_EQ用于驗(yàn)證相等EXPECT_THROW用于驗(yàn)證是否拋出特定異常。gtest提供了豐富的斷言宏ASSERT_*和EXPECT_*ASSERT_*失敗會終止當(dāng)前測試用例EXPECT_*失敗會繼續(xù)執(zhí)行。通常EXPECT_*更常用因?yàn)樗茉谝粋€(gè)測試中收集所有失敗信息。匿名命名空間將測試套件包裹在匿名命名空間里可以避免測試用例名稱與其他翻譯單元沖突是個(gè)好習(xí)慣。3.3 測試目錄的CMakeLists.txt鏈接與定義目標(biāo)這是將一切串聯(lián)起來的地方。tests/CMakeLists.txt需要做三件事創(chuàng)建一個(gè)測試可執(zhí)行文件鏈接必要的庫最后將該可執(zhí)行文件注冊為CTest測試。# 創(chuàng)建一個(gè)測試可執(zhí)行目標(biāo) add_executable(unit_tests test_my_math.cpp # 未來可以繼續(xù)添加其他測試文件如 test_another.cpp ) # 將測試目標(biāo)鏈接到我們的產(chǎn)品庫和gtest庫 # 假設(shè)在 src/CMakeLists.txt 中產(chǎn)品庫目標(biāo)名稱為 my_math_lib target_link_libraries(unit_tests PRIVATE my_math_lib GTest::gtest_main # 鏈接gtest主庫它包含了main函數(shù) ) # 可選但推薦讓測試目標(biāo)也能找到項(xiàng)目頭文件 target_include_directories(unit_tests PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../include ) # 關(guān)鍵步驟啟用測試并將可執(zhí)行文件添加到CTest enable_testing() add_test(NAME MyMathUnitTests COMMAND unit_tests)深度解析鏈接選項(xiàng)GTest::gtest_main這是一個(gè)由FetchContent引入gtest后CMake自動為我們生成的一個(gè)導(dǎo)入目標(biāo)imported target。鏈接它就等于鏈接了編譯好的gtest庫并且使用了gtest提供的main()函數(shù)。這意味著我們的test_my_math.cpp里不需要自己寫int main()gtest框架會幫我們處理測試的啟動、運(yùn)行和結(jié)果匯總。這是最省心、最標(biāo)準(zhǔn)的方式。PRIVATE關(guān)鍵字這里使用的是現(xiàn)代CMake的target_link_libraries命令PRIVATE表示my_math_lib和GTest::gtest_main的依賴關(guān)系僅用于構(gòu)建unit_tests目標(biāo)本身不會傳遞給其他可能依賴unit_tests的目標(biāo)雖然測試目標(biāo)通常不會被其他目標(biāo)依賴。使用PRIVATE、PUBLIC、INTERFACE來精確控制依賴傳遞是現(xiàn)代CMake的核心思想之一能有效避免依賴泄露和沖突。4. 構(gòu)建、運(yùn)行與結(jié)果解析4.1 標(biāo)準(zhǔn)構(gòu)建流程在項(xiàng)目根目錄執(zhí)行標(biāo)準(zhǔn)的CMake構(gòu)建流程# 1. 生成構(gòu)建系統(tǒng)這里以Unix Makefiles為例在Windows上可以是Visual Studio工程 mkdir build cd build cmake .. -DCMAKE_BUILD_TYPEDebug # 建議在Debug模式下進(jìn)行測試便于調(diào)試 # 2. 編譯項(xiàng)目包括產(chǎn)品代碼和測試代碼 cmake --build . --parallel 4 # 使用4個(gè)并行任務(wù)加速編譯 # 3. 運(yùn)行所有測試 ctest --output-on-failurectest是CMake自帶的測試驅(qū)動程序。--output-on-failure參數(shù)非常有用它會在任何測試失敗時(shí)打印出該測試的詳細(xì)輸出即gtest打印的信息幫助你快速定位問題。如果所有測試通過它只會顯示一個(gè)簡潔的匯總。4.2 直接運(yùn)行測試可執(zhí)行文件獲取更詳細(xì)信息你也可以直接運(yùn)行編譯生成的測試二進(jìn)制文件如./unit_tests這會啟動gtest自帶的runner提供更豐富的交互選項(xiàng)cd build/tests # 進(jìn)入測試可執(zhí)行文件所在目錄 ./unit_tests # 運(yùn)行所有測試 ./unit_tests --gtest_list_tests # 列出所有測試套件和用例 ./unit_tests --gtest_filterMathTest.AddPositiveNumbers # 只運(yùn)行特定測試 ./unit_tests --gtest_repeat1000 --gtest_break_on_failure # 重復(fù)測試1000次失敗時(shí)中斷用于壓力或穩(wěn)定性測試 ./unit_tests --gtest_outputxml:report.xml # 輸出XML格式的測試報(bào)告便于CI系統(tǒng)如Jenkins, GitLab CI解析實(shí)操心得善用過濾器和XML報(bào)告--gtest_filter在開發(fā)調(diào)試階段極其有用。當(dāng)你只修改了某個(gè)函數(shù)不需要跑完所有幾百個(gè)測試用例用過濾器精準(zhǔn)運(yùn)行相關(guān)測試能極大提升開發(fā)效率。XML報(bào)告是持續(xù)集成的標(biāo)配。在項(xiàng)目的CI腳本里最后一步通常是運(yùn)行測試并收集report.xml。CI平臺可以解析這個(gè)文件將測試結(jié)果通過率、失敗用例、耗時(shí)可視化甚至與提交、合并請求關(guān)聯(lián)起來。5. 進(jìn)階技巧與常見問題排查5.1 模擬Mock與測試固件Fixture對于復(fù)雜代碼你經(jīng)常需要測試一個(gè)依賴了其他類或接口的模塊。GoogleTest提供了強(qiáng)大的模擬框架GoogleMock通常與gtest一起發(fā)布。示例測試一個(gè)依賴“網(wǎng)絡(luò)服務(wù)”的類假設(shè)有一個(gè)DataFetcher類依賴一個(gè)NetworkService接口來獲取數(shù)據(jù)。我們不想在單元測試中真的發(fā)起網(wǎng)絡(luò)請求。// 1. 定義模擬類 #include gmock/gmock.h class MockNetworkService : public NetworkService { public: MOCK_METHOD(std::string, fetchData, (const std::string url), (override)); }; // 2. 在測試中使用 TEST(DataFetcherTest, FetchSuccess) { MockNetworkService mockService; DataFetcher fetcher(mockService); // 設(shè)置期望當(dāng)調(diào)用fetchData(example.com)時(shí)返回mock data EXPECT_CALL(mockService, fetchData(example.com)) .WillOnce(::testing::Return(mock data)); EXPECT_EQ(fetcher.process(example.com), processed: mock data); }**測試固件Fixture**用于多個(gè)測試用例共享相同的設(shè)置和清理代碼。比如所有測試都需要一個(gè)初始化好的數(shù)據(jù)庫連接。class DatabaseTest : public ::testing::Test { protected: void SetUp() override { // 在每個(gè)TEST_F運(yùn)行前執(zhí)行類似構(gòu)造函數(shù) db_ std::make_uniqueDatabase(:memory:); // 使用內(nèi)存數(shù)據(jù)庫 db_-initialize(); } void TearDown() override { // 在每個(gè)TEST_F運(yùn)行后執(zhí)行類似析構(gòu)函數(shù) db_-close(); } std::unique_ptrDatabase db_; }; // 使用 TEST_F 而不是 TEST TEST_F(DatabaseTest, InsertRecord) { EXPECT_TRUE(db_-insert(key1, value1)); } TEST_F(DatabaseTest, QueryRecord) { db_-insert(key1, value1); EXPECT_EQ(db_-query(key1), value1); }5.2 常見編譯與鏈接問題排查即使按照示例操作你也可能會遇到一些編譯問題。以下是幾個(gè)高頻問題及解決方案問題1fatal error: gtest/gtest.h: No such file or directory原因編譯器找不到gtest頭文件。這通常是因?yàn)閠arget_link_libraries沒有正確鏈接GTest::gtest或GTest::gtest_main目標(biāo)。現(xiàn)代CMake通過導(dǎo)入目標(biāo)自動管理頭文件包含路徑鏈接了它就等于告訴了編譯器頭文件在哪。解決確保你的tests/CMakeLists.txt中target_link_libraries命令包含了GTest::gtest_main。并且檢查根CMakeLists.txt中FetchContent_MakeAvailable(googletest)是否成功執(zhí)行查看CMake配置輸出。問題2undefined reference totesting::internal::...鏈接錯(cuò)誤原因找到了頭文件但鏈接時(shí)找不到gtest的庫實(shí)現(xiàn)。這同樣是因?yàn)殒溄幽繕?biāo)不正確或順序有問題。解決確認(rèn)鏈接的是GTest::gtest_main如果你沒自定義main函數(shù)或GTest::gtest如果你自定義了main函數(shù)。確保鏈接命令中你的庫在gtest庫之前。在大多數(shù)鏈接器中依賴項(xiàng)的順序很重要。通常的順序是target_link_libraries(your_test_target PRIVATE your_library GTest::gtest_main)。問題3CMake配置時(shí)FetchContent下載失敗或超時(shí)原因網(wǎng)絡(luò)問題或者GitHub訪問不暢。解決設(shè)置網(wǎng)絡(luò)代理注意此處僅討論常規(guī)網(wǎng)絡(luò)配置不涉及任何特殊網(wǎng)絡(luò)工具??梢栽贑Make命令前設(shè)置環(huán)境變量如export https_proxyhttp://your-proxy:portLinux/macOS或set https_proxyhttp://your-proxy:portWindows CMD。使用國內(nèi)鏡像源。可以修改GIT_REPOSITORY為鏡像地址但需注意鏡像的同步可能滯后。更穩(wěn)妥的方式是在能訪問外網(wǎng)的機(jī)器上預(yù)先下載好gtest的release包放在本地目錄然后修改FetchContent_Declare使用URL和本地文件路徑但這增加了維護(hù)成本。對于團(tuán)隊(duì)內(nèi)部建議維護(hù)一個(gè)穩(wěn)定的內(nèi)網(wǎng)代理或鏡像。問題4測試通過但ctest命令顯示“No tests were found!!!”原因enable_testing()或add_test()命令沒有被執(zhí)行或者執(zhí)行順序有問題。解決確保tests/CMakeLists.txt中的enable_testing()和add_test()命令被調(diào)用。add_test()必須在add_executable()定義目標(biāo)之后。檢查構(gòu)建目錄是否正確。你必須在執(zhí)行cmake ..的build目錄下運(yùn)行ctest而不是在源碼目錄。5.3 集成到IDECLion, VS Code等現(xiàn)代IDE對CMake和GoogleTest的支持都非常好。CLion直接打開項(xiàng)目根目錄包含頂層CMakeLists.txt的目錄CLion會自動識別CMake項(xiàng)目并配置。你可以在“Run/Debug Configurations”中輕松添加“Google Test”配置并選擇運(yùn)行所有測試或特定測試。側(cè)邊欄會有專門的“測試”工具窗口顯示所有測試用例樹狀圖點(diǎn)擊即可運(yùn)行。Visual Studio使用“Open Folder”功能打開項(xiàng)目根目錄VS的CMake集成會掃描項(xiàng)目。你可以在“Test Explorer”窗口中看到所有發(fā)現(xiàn)的測試用例并圖形化地運(yùn)行和調(diào)試。VS Code需要安裝CMake Tools和C擴(kuò)展。配置好后狀態(tài)欄會有CMake的構(gòu)建和調(diào)試選項(xiàng)。測試運(yùn)行通??梢酝ㄟ^配置launch.json來調(diào)用編譯好的測試可執(zhí)行文件或者使用CMake Tools提供的測試運(yùn)行器。一個(gè)VS Code的實(shí)用技巧在.vscode/settings.json中配置讓CMake在配置時(shí)自動傳遞-DBUILD_TESTSON參數(shù)這樣每次生成構(gòu)建系統(tǒng)時(shí)都會包含測試目標(biāo)。{ cmake.configureArgs: [ -DBUILD_TESTSON ] }6. 從示例到生產(chǎn)你需要考慮的更多事情這個(gè)示例項(xiàng)目給了你一個(gè)堅(jiān)實(shí)的起點(diǎn)但在一個(gè)真實(shí)的、持續(xù)迭代的生產(chǎn)項(xiàng)目中你還需要考慮以下幾點(diǎn)1. 測試覆蓋率Coverage知道測試通過了很重要但知道有多少代碼被測試到了同樣重要??梢允褂孟駁cov/lcovGCC/Clang或OpenCppCoverageMSVC這樣的工具來生成覆蓋率報(bào)告。集成到CMake中通常需要開啟特定的編譯標(biāo)志如-fprofile-arcs -ftest-coverage并在構(gòu)建后運(yùn)行腳本生成HTML報(bào)告。許多CI系統(tǒng)如GitLab CI也原生支持覆蓋率收集和可視化。2. 基準(zhǔn)測試Benchmark單元測試驗(yàn)證正確性基準(zhǔn)測試驗(yàn)證性能。Google有一個(gè)相關(guān)的開源項(xiàng)目叫Google Benchmark它可以和GoogleTest類似地通過FetchContent集成用于測試關(guān)鍵函數(shù)或算法的性能防止性能回歸。3. 持續(xù)集成CI將這套CMake構(gòu)建和測試流程集成到CI/CD管道中是必經(jīng)之路。無論是GitHub Actions、GitLab CI還是Jenkins核心步驟都是一樣的在干凈的容器或環(huán)境中檢出代碼 - 安裝CMake/編譯器 - 配置項(xiàng)目cmake -B build -DBUILD_TESTSON - 編譯cmake --build build - 運(yùn)行測試cd build ctest --output-on-failure。CI能確保每次提交都不會破壞現(xiàn)有功能。4. 測試代碼的質(zhì)量測試代碼也是代碼也需要保持清晰、可維護(hù)。遵循DRYDon‘t Repeat Yourself原則使用固件或輔助函數(shù)來消除重復(fù)設(shè)置。給測試用例起一個(gè)清晰、描述性的名字。避免測試邏輯過于復(fù)雜一個(gè)測試最好只驗(yàn)證一件事。我個(gè)人在多個(gè)項(xiàng)目中實(shí)踐這套方法后最大的體會是投資于構(gòu)建系統(tǒng)和測試基礎(chǔ)設(shè)施的時(shí)間會在項(xiàng)目生命周期中十倍、百倍地回報(bào)給你。它帶來的確定性、協(xié)作順暢度和重構(gòu)勇氣是任何臨時(shí)方案都無法比擬的。這個(gè)GoogleTest與CMake的實(shí)踐示例就是為你打下這個(gè)堅(jiān)實(shí)基礎(chǔ)的第一塊、也是最重要的一塊磚。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久操91视频| 人妻天堂综合网| 亚洲十八禁止| 99色色| 国产拍偷精品网站| 欧美91色| 青青草啪啪网| 97国产天堂岛| 性做久久久久久免费观看软件| 国产区在线| 很黄很污的免费网站| 亚洲欧美经典一区二区| 69视频入口| 精品人妻一二三四区视频| 亚洲色久| 亚一综合久久久久久久久久| 一区二区三区免费视频入口 | 97干在线视频| 国产精品动态一区二区三区四四| 久久久A∨| 玖玖爱免费观看视频| 人人干人人操人人爱| 东北老熟女| 精品人妻一区二区乱码一区二区| 日韩亚洲美州欧洲综三区一品在线| 日本操大逼| 亚洲成人在线高清| 26uuu性| 少妇久久久久久| 日韩一级二级在线| 国产精品女同| 92福利社视频| 欧美夜色| 久久精品老司| 色精品极品| 蜜臀操逼黄色视频操的好爽| 色黄色美女大长腿午夜视频| 草草影院最新网址| 国产精品美女久久久久久网站| 深夜激情| 澳门色噜噜色噜噜色噜噜色噜噜色噜噜| 呦女网站| 九九久久国产精品怡红院| 狠狠夜色午夜久久综合在线| 久插综合| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 噜噜噜亚洲精品| 偷窥自拍亚洲色图| 啊啊啊啊啊啊在线看| 欧美日韩第一页| 五月丁香综合啪啪| 欧洲欧美视频一区二区| 色婷婷激一区二区三区 | 色九月综合| 色噜噜国产在线| 天天爱天天韩国日本牛牛牛牛| 日韩午夜啪啪视频| 国产有码一区| 丁香六月婷婷| 色优久久| 国产青一二三| 2026国产精品视频| 欧美日韩亚洲国产中文永久天天看| 另类欧美| 精品九九| 一区二区三区免费岛国片| 成人亚欧免费视频| 在线不卡视频| 色呦呦、国产精品| 97精品国产精品免费观看| 综合激情一一91| 久久久神马影院| 自拍第一页| 91欧| 74成人在线| 天天做日日做| 干干干天天| 国产精品婬乱一级毛片彝族| 中文字幕一区电影在线观看| 成人贴图日韩欧美| 亚洲男人的天堂网| 欧美懂色综合网| 超碰色男人操熟女| 日本黄 R色 成 人网站| 另类av综合久久| 婷婷久久久精品| 天天日夜干| 亚洲第一精品在线视频| 97超碰69| 9 1超碰九色| 国产乱子伦久久精品综合一区二区三| 国产一区二区a毛片| 日本阿v天堂在线观看| 国产熟女完整版中字| 久久精品国产精品亚洲艾通辽熟妇 | 亚洲AV秘无码一区..| 黄片色区软件| 色综合1991| 色综合国产在线观看| 激情久久久| 麻豆AV96熟妇人妻| 婷婷爽人人婷婷爽视频| 国产 亚洲 丝袜 制服| 亚洲五月丁香花狠狠干一区二区三区| 日韩精品国模| 日韩福利综合一区| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 26uuu性| 久久久蜜桃一区二区三区| 久久久18禁| 97色97干| 国产av白丝| 亚洲狠狠入| 日韩亚洲中文字幕在线| 精品人妻一二三四区视频| 丰满人妻区一区二区三| 日本三级久| 老鸭窝成人| 国产隔壁老王影院在线| 午夜成人福利影视| 国产传媒一区二区三区| 97一区二区蜜臀| 四虎免费在线播放| 日韩性爱小视频在线观看 | 天天干天天燥| 不卡六六在线91| 新久久AV| 日骚逼视频| 国产精品久久久久久片| 激情啪啪视频| 天天干夜夜一操| 久久伊人网视频一区二区三区| 精品午夜福利| 77777亚洲蜜臀精品久久综合蜜臀| 欧美色图91| 国产日韩在线播放| 91超碰在线观看| 你懂得91| 黄色乱论网站| 伊人色综合网电影| 国产日韩欧美中文在线播放| 91色狼| 99久久九九| 欧美一区二区| 日韩欧美亚洲国产日韩| www国产精品| 亚洲色人妻综合| 偷拍欧美综合| 亚洲AV成人无码一二三久久| 色婷婷久久| 人妻熟女一区二区三区在线| 五月丁香社区婷婷日韩欧美精品影院| 人人澡人人干| 澳门成人网站久国产日韩| av黄图片在线观看| 熟女露脸激情自拍视频| 婷婷五月色| 啊啊啊啊啊啊啊啊要喷了| 91强热人妻| 男女啊啊啊啊啊| 不卡超碰护士AV在线免费播放| 丝袜 中出 制服 人妻 美腿 中文字幕| 99色在线视频| 日小BB小视频| 午夜噜噜噜| 97精品国产97久久久| 亚洲骚逼少妇| 久久99草| 中文字幕黑人大片| 亚洲精品三区在线观看| 78精品| 精彩视频日韩| 亚欧韩av| 国产家庭乱伦性爱视频| 神马久久久久久久久| 欧美极品女人的天堂| 亚洲人妻久久| 大香网伊人久久综合网eew| 黄aaaaaaaaaaaaaaaaaa色网站| 久久久久久久精| 天天色怡春院| 人妻一区二区三区| 亚洲无码99| 成人a大片在线观看| 欧美性夜| 伊人视频| 97碰碰日本乱偷人妻中文的| 国产欧美日韩女同性恋ww喷水精品 | 俄罗斯一区二区视频在线观看 | 男人的天堂无码| 曰韩欧美国产传媒麻豆第一区| 操www| 亚洲国产中文字幕| 久久9 9 9精品| a片久久久久久久久久久久 | 熟女视频久久| 欧美性爱一级操| 国产精品点击进入在线影院高清| 国产91 丝袜在线播放| 91热色| 国产性感骚丝袜在线| WWW黄片COM| 9久久精品| 亚洲天堂另类| 在线观看A啊啊啊| 久久麻豆一区二区| 精品久久久久久亚洲| 韩国午夜理伦三级好看| 91在线视频国产网站| 午夜啊啊| 91亚洲网站| 97在线播放| 青青草在线视频美女| 天堂资源欧美| 加勒比综合九九99视频在线播放| 91丝袜美女| 狼人综合婷婷激情四射 | 免费看一级a性色生活片久久无| 久久天天艹| 欧美日韩啪啪电影| 中文字幕日韩电影人妻| 夜夜操美女| 亚洲有码 欧美精品| 国模吧 一区二区三区| 欧美日本国产日韩激情视频| 91丨九色丨大屁股| 婷婷五月丁香五月| 女同在线视频一区| 91人人臊| 人妻激情偷乱视频一区二区三区 | 先锋精品av色鲁| 99视频内射三四| 大香蕉久久| 亚洲福利中文字幕在线| 日本一区二区三区欧美日韩中文字幕| 真实高潮91| 60秒试看最爽10分钟网站| 禁十八久久| 老司机免费视频在线91| 91国产丝袜美女| 亚洲精品国产熟女久久久| 日本久久久精品电影| 精品国产乱码久久久久久免费| 欧洲综合色| 成人线上超碰| www国产天美久久久| 丁香婷婷九月| 少妇无码太爽| 激情黄色五月天| 91中文字幕在线观看| 超碰99re| 久久riav中文精品| 色吧综合网| 天天影视激情欧美| 色哟哟av| 欧美97| 国产黄色 A 片免费看| 五月丁香综合激情| 99蜜桃臀亚洲成人在线观看| 91综合天天看| 综合干干干av久久久综合网| 999九九九九国产动| 91性情| 天堂俺去俺来也www久久婷婷| 国产激情在线| 超碰 97国产熟女| 伊人少妇久久久| 国产精品电影大全| 97色干| 一区| 天天躁日日躁AAAAXXXX国产| 丁香五月天堂网| 射欧美综合| 精品美女少妇一区二区| 国产美女自拍AV| 天天日B夜夜干B时时操B| 台湾佬激情综合| 啊啊啊啊好疼视频| 99人妻碰碰碰久久久久禁片| 可以免费观看的av| 美女91| 国产乱伦亚洲| 亚洲色图欧美色图制服丝袜| 欧美懂色综合网| 日韩人妻免费精品| 麻豆AV短剧| 亚洲日韩天堂| 青青草原综合久久大伊人精品| 国语精品对白| 婷婷五月天小说| 少妇蹲下买菜露大唇0| 国产一级内射高清视频| 成人欧美一区二区三区黑人一| 牛牛久久国产精品视频一二三| 精品无码久久久久久久杏吧| 特色a在线上| 亚洲激情网| 另类图片五月天| 亚洲国产一级精品毛一级精品看免费视频| 久久鲁夜| 蜜乳AV色欲AVAV无码| 精品国产国产AV| 性爱综合一区二区| 超碰在线人妻不卡| 亚洲日韩精品久久久久一区壹牛| http://qxhbdz.com| 91欧美色| 日本人体九九九九九九| 日韩九九九| www.91色综合| 热99这里有精品综合久久| 精品超碰国产| 久久久久久999| 丁香五月性爱| 波多野结衣AV无码一区| 男人久久精品| 日韩成人电影AV| 日本黄色精品| 天天淫人人妻日日色| 亚春色色| 超碰爽人妻熟女Av| 免费一级性爱久久| AV色五月天| 久草免费在线一区二区| 日韩精品一二三| 青青草原人妻| 一区操逼| 美女爽爽爽刺痛洞洞| 在线视频日韩欧美国产| 蜜臀久久99精品久久久久久| 在线人成亚洲视频免费观看| 91处女视频在线观看| 高清无码 国产精品| 9.1小视频| 黑丝少妇| 日逼逼免费看| 欧美性色欧美| laoshunv91| 91粉嫩萝控精品福利网站_精品影音先锋国| 亚洲文学偷乱拍啪啪啪啪| 91久久婷婷| 久久精品人人做人人看| 97人人色| 99蜜桃臀亚洲成人在线观看| 伊人久久婷婷| 人人操人人摸人人看人人干| 国产精品久久久久9999小说| 成人久久无码www| 婷婷激情五月天小说网| 亚洲九九九| 国产乱码久久久久久| 亚洲男人的天堂亚洲| 久久草草亚洲蜜桃臀| 少妇99| 大香蕉 222| 熟妇操花| 欧美一级久久久久久久大片动画| 亚洲一级黄色毛片| 成人性交午夜免费片| 丰满精品人妻少妇久久字幕| 人妻天堂综合网| 中文字幕一区二区在线日韩精品| 欧美成人一级麻豆| 91n欧美| 在线亚洲丝袜视频网站| 天天干一区二区| 啊视频在线| 大JI巴好深好爽又大又粗视频| 日韩色图 一区二区| 男人兔费天堂| 抽插无码高清一区| 无码WWW免费视频网站| 亚洲天堂精品日韩电影| 夜夜欢天天干| 一区二区三区高清| a啊啊啊啊啊啊啊啊一区二区| 人妻大相焦在线| 亚洲色图激情小说| 日日狠狠久久偷偷色综合免费| 亚洲性爱成人| 日本成a人v网站在线观看| 外国免费性情大片| 日本幼女18+| 色综合超碰超| 精品欧美日韩在线观看| 国产又长又大又粗的视频| 一区二区 电影 亚洲| 亚洲情色五月天| www.色婷婷.com| 久9视频| www网站黄| 亚洲色图欧美视频| 日韩免费性爱视频在线观看| 岛国成人av在线播放网址| 中文字幕奈奈美被公侵犯| 成人小说另类在线| 性videos欧美熟妇hdx| 亚洲不卡三级手机播放| 亚洲第一页第二页激情| 亚洲 欧美 日韩 国产一区二区| 男人的天堂久久久| 2024黄色视频| 三级AV入口| 国产a片操逼| 成人精品一区二区91毛片不卡| 亚洲国产91精品一区二区久久| 亚洲伊人久久综合97| 无码137片内射在线影院| 性爱综合一区二区| 啪一啪免费视频| 韩国一级做A片免费的| www.色综合| 激情五月婷| 天天干2019| 97国产天堂岛| 夜夜爽夜夜摸夜夜操免费视频| 精品一区99999| 色九久| 高清国产精品福利网站| 久操com| 亚洲精品中文字幕一区在线视频 | 95人妻爽爽人人做人人澡| 97精彩视频网站| 性色一线| 在线女人91| 色综合20p| 香蕉免费一区二区三区不读| 大茄子熟女AV导航| 91一区二区三区蜜桃| 无套内射人妻在线播放| 亚洲欧洲另类| 天天综合麻豆视频| 久久久久久性爱免费视频| 夜夜操美女| 99人人干| 欧美大香蕉卡久久| 人人爽夜夜玩视频| 国产91精品在线免费| 在线国产福利网址导航| 最新欧洲欧美日本激情网站| 97超碰资源网| 3PAV乱伦视频| 开心激情站| 爱爱久久| 97啪啪| 久干9操| 蜜臀av在线播放一区二区三区| 粉嫩AV一区夜夜嗨| 国产一级高清免费观看| 欧美激情中文字幕另类小说| AND人妻系列| 超碰在线97国产| 激情啪啪视频| 日本高清视频xxxx| 久久色人体| 麻豆成人av| 夜夜爽夜夜操| 亚洲精品人妻吞精av| 伊人久久大香蕉线AV五月天| 玖草在线视频| 99热综合| 色与欲影视天天看综合网| 日本欧美一区二区三区视频麻豆| 一道本久久棕合爱| 国产sv美女内射| 伊人影院综合是一个与深夜成人在线 | 青娱乐 成人娱乐在线| 后入式福利| 国产 无码 一区二区| 少妇天堂网络| 狠狠婷婷亚洲中文综合久久| 久操大香蕉手机视频在线看| 劲爆欧美人妖三区91| 国产强奸AV在线| 午夜精品久久久久久久男人的天堂| 青青草国产盗摄一二三区| 韩国三级一线观看久| 翘臀vidoes| 亚州男人天堂| 蜜臀av一区二区三区免费观看| 99在线精品观看视频中文| 欧美人妻精品一区二区| av线电影| 国产精品岛国片在线观看| 校园春色亚洲无码| av天堂精品久久| 人人爽人人精品乱人伦AV| AA级电影三区| 日韩钢筋无码高清啾啾啾| 久久久久久久免费A片国产成a人亚洲精∨品无码 | 国产热RE99久久6国产精品首| 天天超级碰碰碰| 日韩 欧美 另类 人妻| Aa东京男人的天堂| 中文字幕av乱伦| 天天天干977| 激情综合五月婷婷| 2024黄色视频| 嗯嗯,好大,好爽,好骚| 天天干天天操天天操夜夜操天天操| 婷婷色一区| 欧州一区二区三区四区| 亚州熟妇精品| 看一级黄色视频| 97天天日| 久久婷婷欧美| www.国产高潮精品| …亚洲黄色厕厕女女在线播…| 亚洲熟女av日韩熟女| 国产精品夜夜| 99国产精品免费| 中文字幕亚洲热播人妻| 超碰97久| 黄总AV色图| 在免费jIzzjIzz在线视频| 一区二区三区看视频| 婷婷丁香五月激情啪啪| 又大又大又大又粗爽高潮观看 | 精品人妻15区| 五月天综合网| 97人人草| 亚洲欧美在线观看免费| 精品一级| 国产视频小说| 天天日B狠狠操| 超碰国产精品久| 91亚洲电影| 日本熟妇色熟妇在线视频播放| 在线观看黄色电话| 日本韩国国产精品一区| 亚洲人精品久久久| 久久综合女优| 国产精品老熟女一区二区| 69少妇一区二区| 少妇无码999| 美女啊啊啊啊pc| 在免费jIzzjIzz在线视频| 免费观看一区| 无码人妻毛片丰满熟妇精品区| 1024亚洲中文字幕久在线看片你懂的| 日韩在线欧美精品一区二区| 91综合无码| 日本欧美m v精品网站加| 亚洲人妻一区二区三区| 91艹| 欧美性夜| 亚洲乱熟女一区二区三区大香蕉| av激情亚洲五月天| 亚洲欧美91√| 青青欧洲黑| 嗯~啊~快点 死我视频| 岛国成人av在线播放网址| 亚洲乱色熟女一区| 老熟女阿 国产91| 操淫穴亚洲五月丁香| 色爱综合网欧美| 欧美日韩m| 成人 日韩欧美一区| 国产精品无码av在线| AⅤ片水多多| 美女91网站| 久久免费精彩视频| 国产精品久久久无码AV网站| 偷拍三区| 欧美黄色大片在线观看 | 欧美色自拍| 天天综合欧美综合| 国产毛片精品一区二区色欲黄A片| 少妇高潮对白在线观看| 啪啪AV导航| 隔壁邻居波多野结衣中文字幕| 中文字幕精品免费一区二区| 东北少妇高潮zzzz| 性色av大全| 国产97亚洲| 天天干电影| 日韩啪啪视频| 欧差乱伦二三| 色在线综合| 操逼免费视频无码国产| 国产免a费看黄片在线| 高清成年美女黄网站免费大全| 国产又黄又爽又刺激久久久久久 | 欧美日韩91| 无码9区| 91neishe| 欧美人妻中出| 亚洲丝袜二区在线| 欧美在线|亚洲| 日产精品久久久一区二区| 国产激情在线| 国产精品不卡一区二区三区av| 午夜男女爽爽爽影院视频| 日韩无码操逼片| 亚洲黄色网址视频| 激情五月天综合网| 欧美 亚洲 大香| 超碰伊人在线| 97超碰欧美精品| 操b在线观看| 无码在线亚洲| 少妇 综合| 亚洲免费97免费| 999久久久久久久久| 校园春色第一页| 天天射天天操天天干天天吃2018| 手机在线视频国内精品| 日本久久99| 二对二中文字幕。| 91痴汉| 久久一区二区蜜桃| 免费的黄片有限公司| 亚洲偷拍自拍在线视频| 中文字幕精品丝袜| 麻豆天美AV传媒第一页| 懂色aV一区二区天美传媒| 亚洲欧美999| 97精品熟女少妇一区 | 欧美色图在线视频少妇| 综合另类| 亚洲天堂 视频你懂的| 91视频观看网站| 好爽要喷了| 视频国产欧美在线播放| 久久HD| 禁止观看美女黄| 蜜乳av首页| 大香蕉免| 99999re| 91足交| 天天弄欧美| 亚洲欧美日韩中文久久自慰| 一区二区三区免费视频入口 | 伊人久久国产免费观看视频| 亚洲丝袜二区在线| 黄片com.| 躁躁日曰躁2020| 啊啊嗯嗯好爽| 久久综合婷婷| 蜜汁欧美| 精品久久人妻成人网| 免费网色网站| www久久国产精品| 91 亚洲 欧洲| 男人的天堂Va| 另类小说五月天| 超碰综合色| 免费看片黄| 久久久噜噜噜久久久| 日本精品一区二区不卡| 亚洲综合一区二区| 97精品网站| 一区操逼| 熟女AV一区| 国产一区二区免费福利片| 天天日老熟妇| 97色碰| 人妻日日夜夜精品| 91国产丝袜白虎| 手机看av网站在线看| 啊灬啊灬啊灬啊灬高潮奶出了免费视 | 久久久久久久国产视频| 亚洲第91页 | 国产AV色黄看到爽| 操b网站亚洲无码| 十八禁视频一区二区| 久久精品72| 欧美偷拍区| 欧亚日韩三区| av日韩国产一区二区| 色网综合网| 人人操人人摸人| 性性欧美| 最新日产中文在线麻豆| 中文字幕精品亚洲熟女| 婷婷五月天久久久| 懂色Av一区二区三区| 日韩人成网站在线播放| 国产AV线| 天美精品av| 中文久久一区| 国产成人无码a| 加勒比少妇AV婷婷六月天超碰超碰| 国产亚洲中文不卡二区| 大香交| 久久综合99| 亚洲国产精品无码AV久久| 九九成人精品| av午夜影院在线播放| 日本道人妻久久久在线不卡色视频| 桃花色涩综合影院| 东京热天堂网| 在线视频一区二区传媒| 午夜偷拍久久熟女| 国产午夜精品一区二区三区牛牛| 殴美牲| 大香蕉黄色一级片免费看| 亚洲人人夜夜澡人人爽| 婷婷久久综合| 国产最新小视频在线播放下载| 黄久在线| 久久久精品国产亚洲伊人| 日本色日夜干| 性爱AV天堂| 99精品久久| 国产精品久久久久久高清无码免费看| 久草线上视频免费看| 男人的天堂亚洲| www.av在线视频| 亚洲精品欧洲色| 亚洲成人色情五月天丁香花| 九九香蕉网| 51久久夜色精品国产麻豆| 国产青青美女玩逼视频| 天天干天天干天天干| 亚洲国产欧美一区二区潘金莲 | 色逼综合| 午夜久久久| 午夜天堂精品久久久久91| 人人操,人人插| 成人性交午夜免费片| 无码久| 97干日韩| 日韩亚洲中文字幕在线| 国产老太乱伦一区| 超碰精品97| 亚洲性图91| 日韩成人午夜精品久久高潮| 综合激情五月丁香| 日本色色色色色视频| 视频国产欧美在线播放| 超碰色97| 精品无码久久久久| 国产伊人自拍| 天天干天天干天天干| 91爆操视频| 黄色激情电影在线观看| 岛国小电影| 操一区| 美女被艹尤物视频| 先锋色眉乱伦资源| 日本黄大片在线观看视频| 欧洲精品一级二级精品综合视频综合| 97 国产精品| 2019午夜福利视频| 欧美久久人妻少妇一区二区| 色哟哟-国产专区| 粉嫩绯色AV一区二区在线| 上海一级黄片| 日逼视频日本| 熟女五十路一区二区三| 成人无码在线超碰网| 亚洲天堂在线怕怕视频| 中国操逼无码| 日本熟女不卡视频| 成人五级久久| 69少妇一区二区| 少妇一区二区三区高速| 2017人人操,人人摸| 午夜操逼不卡| 天天看天天在线精品| 超碰人妻天天干| 夜间福利片1000无码| 国产亚洲精品A在线观看下载| 无码高清操逼| 一级做a爰片久久毛片图片| 国产乱伦性爱区| 操逼逼中文字幕| 东亚亚洲无码高清| 啪啪一区| 操人妻少妇中文| 精品人妻一区二区三区-国产精品| 婷婷色香| 午夜AV污污污| 精人妻一区二区三区| 香蕉视频精品亚洲一区二区三区在线播| 亚洲熟女诱惑| 操一操摸一摸| 国产中文精品一区二区在线观看| 伊人五月天激情| 国产成人自拍视频在线| 亚洲综合成人网| 久久婷婷色综合一区二区三区| 亚洲精品97在线| 日本不卡二三区| 久久九九热| 热99re69精品8在线播放| 91久久久亚洲| 亚洲欧综合另类无码一区| 欧美性爱在线无码| 97综合在线观看| 成熟熟女国产精品一区二区| 97欧美日韩精品| 国产精品人妻免费精品| 日韩乱中文| 亚洲在饯| 在线一道啪| 三级三级三级日本99| 乱精品一区字幕二区| 色综和网| 欧美性爱一区二区三区| 操婢日韩| 六月丁丁香| 天天干天天中出av| 日韩三级av片| 91碰超| 91蜜臀熟女| 丝袜高跟澳门91视频| 婷婷婷婷婷婷久久久久| 国产成人精品日本视频| 女一区二区| 精品人妻少妇| 少妇xx精品| 蜜桃传媒一区二区亚洲| 精品人妻一区二区三区蜜桃视频| 操啊国产| av天天在线观看| 精品无码产区一区二| 久久国产AⅤ| 色五月婷婷在线| 91美女看B| 91丨国产丨白浆秘 洗澡动漫| 欧美性爱在线无码| 五月丁香大香蕉| 天天躁夜夜躁狠狠躁AV| 人妻偷拍一区二区三区| 伊人色综合网| 九九九九一区| 亚洲日韩美女中文字幕乱| 人妻在线臀日韩| 欧美日韩妖精91com| 一本大道不卡一二三区| 欧美三级免费伊人| 精品人妻一区二区三区日产| 91精品无码人妻系列| 中文字幕精品乱码| 高潮毛片无遮挡高清免费| 偷窥自拍亚洲色图| 婷婷爽人人婷婷爽视频| 久久伊人大香蕉| 2003天天干夜夜操| 日本一区二区亚洲综合| 97天天搞在线| 欧美亚洲小说| 五月黑AⅤ| 久久岛国| 日本精品一区三区| 日韩九九九| 在线啊v一区| 果冻传媒A片一二三区| 欧美视频一区二区在线| 成人在线午夜视频一区| 18禁精品网站在线看| 欧美色图下一页| 欧美一区二区日韩三区| 搞中出视频在线观看| 国产精品网站免费| 超碰国产精品久| av一区二区三区四区五区久草臀| 在线岛国新天堂8| 玖玖资源中文字幕制服丝袜| 岛国色情视频在线观看| 九七毛片九九毛片| 一线黄色免费性爱片| 丰满人妻一区二区中文| 亚洲 国产 精品一区| 都市激情人妻一区二区青青操视频 | 色综合潮| 亚洲伊人a线观看视频| 精品一二三区女同| 日韩无码a片| 久久人妻一区二区三区高清| 亚洲最大无码中文字幕网站| 嗯嗯啊啊好大好爽| 十八禁啪啦拍视频无遮挡| 婷婷人妻激情| 水澄无码AV| 人人干黄色| 四虎免费视频| 欧美性爱系列| 亚洲欧美清纯| 又摸又舔在线观看网站| 国产www色在线观看| 婷婷丁香人妻 | 色色97爱| 日韩二级| 亚洲美女自拍偷拍视频| 色综合天天爱去电影网| 久久久不能久久久久| 91搞逼视频| 久久久涩| 九九热免费国产视频婷婷伊人五月| 午夜男女爽爽大片免费观看| 人妻天天爽| 一区二区三区精品黑丝白丝酒店对鸡| 国产精品爆乳懂色蜜乳| 欧美性区| 99综合视频| 美国日韩黄片| 久久婷婷一区| 大香蕉99热| 97香蕉碰碰人妻国产欧美| 青娱乐淫乱1314| 欧美亚洲韩国视频十五区| 99国内精品| 97摸视频| 精品人妻1区| 嗯嗯嗯啊啊啊干死我吧| 91ise欧美| 人妻aa| 欧美在线永久天堂| a啊啊啊啊啊啊啊啊一区二区| 久久黄黄| 国产三级日产三级韩国三级| 免费人成毛片乱码| 揉揉揉夜夜| 玖玖爱一区在线| 久久男人的天堂国产| 美女网站黄页| 成人综合色网| 黄色视频特级毛片| 1000部熟女视频在线观看| 偷偷人人精品女女久久| 很很很很操| 激情小说五月天| 免费看国产曰批40分钟怎么下载| 新91视频.cmp| 很狠操| 另类 综合 日韩 欧美 亚洲| 热久久91婷婷| 日韩人妻资源在线看| 日本免费人成视频播放120秒| 国产女人视频三四五区| 日日夜夜青青草母狗| 天天干天天操天天拍| 99综合视频| 国产原创剧情在线丝袜| 丝袜美腿制服人妻二区中文字幕| 影视综合无码少妇| 亚洲高清无毛一区二区| 国产一国产一级毛片古装| 殴美性天天| 0755午夜福利视频| 久久日韩肥臀| 久久久久国产| 熟女欧美日韩综合婷婷| 久久草草欧美精品| 91碰碰碰| 最新欧洲欧美日本激情网站| 99自拍视频| 成年人性爱日韩| 日操粉逼逼| 国产精品4p在线观看| 亚洲影院无码在线| 国产成人超碰在线| 久久精品福利影院| 成年人三级黄色片视频| 日美免费黄片| 狠狠操天天干| 亚洲中文字幕乱码无码一区二区| 青青草手机在线免费观看| 亚洲自拍欧美色综合| 美女91网址| 天天干天天操天天操夜夜操天天操| av网站免费线看| 乱伦Av网| 亚洲春色激情小说| 九九九九九九成人| 欧美第五页| 91香蕉国产尤物视频| 隔壁邻居波多野结衣中文字幕| 人、人、摸,人、人、草| 25国产精品免费观看| 欧美 综合| 青草伊人网| 精品人妻视频入口| av天堂5| 97色五月天完| 啊啊啊不要嗯嗯在线观看| 91宗合网| 三级色综合| 97色伦欧美| 91高潮喷水美女| 2017天天拍大香蕉| 国模不卡| 亚洲熟妇图片| 久久久久久中文| 大香蕉乱级| 丁香五月天啪啪| 欧美少妇性乱| 爱爱动态60秒| 一级啊性爱在线视频| 国产人妻精品久久久一区二区三区| 国产白丝在线| 狠狠欧美| 欧美在线|亚洲| 在线播放成人高清免费视频 | 欧美在线综合| 国产乱伦搜索结果91P| 亚洲日韩精品在线播放| 久久、1234| 精品九九| 成人日韩欧美| 青草园大香蕉| 亚洲av国产av综合av卡| 欧美激情五月天| 嫩草 我啊~嗯~在线| 国产美女口爆吞精视频| 亚洲nv男人的天堂网| 亚洲色图 综合| 黄色片A级一区二区三区| 久久乐| 亚洲不卡一| 国产毛片久久久久久久| 国产suv精品一区二区四区999| 欧美男人的天堂| 中文字幕123| 青青草字幕AV| 国产毛片久久久久久久| 美女在线H91| 思思热国产高清| 99国产人成精品| 美女t无毒不卡不卡| 国产毛片精品一区二区色欲黄A片| 职场同事知名国产国产精品久久欧美日韩| 日韩激情无码影院| 澳门成人网站久国产日韩| 女生久久网| 日本高清电影欧美色图| 99精品九九九九九九| 大屁股xxxxx| 色偷偷2020免费视频播放| 天天做日日做天天欢。| 色网1| 国产精品蜜乳AV| 吊色| A 天堂在线观看视频| 四虎在线免费视频| 亚洲五码一区二区三区| 亚洲色图 综合| 夜间福利片1000无码| 欧洲自拍色图gif在线| 操操逼操操逼操操逼逼| 国桃视频产巨乳精品一区二区在线| 国产在线激情视频| 麻豆 亚洲 97| 国产色呦呦| 久久成人东京热人妻| 99色在线观看| 黑人综合网| 亚洲伊人久久精品狠狠在线| 人人搞人人插人人操| 免费9 1久久| 成人无码电影在线观看网| AV在线资源| 日美免费黄片| 黑人性暴力毛片| 久久久蜜桃一区二区三区| 欧美97| 97干天天| 久久美女福利是上海美女| 麻豆熟妇乱妇熟色A片在线看 | 欧美黄色手机在线观看| 国产肏屁眼视频| 日本精品高清一二区一本到| 91综合无码| 用力操死我| AAAAAAAAA黄片| 青青草依人大香蕉| 婷婷情色综合网| 亚洲囯产精品女人久久久| 熟女熟妇伦久久影院毛片一区二区 | 婷婷精品| 国产精品久久久久无码Av网曝门| 成人黄页| 欧美亚洲丝袜人妻制服99| 操操逼视频| 新怡红院| 久久111| 婷婷五月天av| 国产无码精品高清| 国产精品另类| 99综合自拍| 99色在线视频| 午夜操逼不卡| 色九久| 久久精品国产精品| 综合日本女人伊人| 日本视频一区二区三区| 欧美懂色综合网| 嗯嗯啊啊的视频| 色月天AV导航| 国产成人无码网站在线视频| 中国AAAAAA黄色片| 国产91丝袜 在线播放| 蜜桃视频一区二区三区在线观看| 日本网色| 黄色激情电影在线观看| 久久久人妻| 国产风韵犹存熟妇三区| 亚洲欧美九九九| 五月婷婷激情网| 亚欧成人中文字幕一区| 成年人网站在线免费观看| 思思热免费视频观看| 欧美一区二区三区互相| 91色宗合| 亚洲激情深爱文学小说网站| 成人老鸭窝人人在线视频| www.色婷婷.com| 欧美性爱一级操| 色翁荡息又大又硬又粗又爽| 青青草国产欧美非洲黑人| 国内精品久9| 人妻丝袜肏逼| 男插女青青影院| 狼天天狼天天大香蕉| www久久99| www网站黄| 草草网站影院白丝内射| 大香蕉视频一二三区| 91久久青青草原精品| 玖玖久久久| 国产嫩草精品A88AV| 操老熟女AV| 91九九九吃| 色综合20p| 天操老女人| 欧美熟女妇同| 欧美 日韩 国产传媒| 清纯唯美激情四射| 亚洲美乱| 性爱动态120秒| 青青草中文-久久青草精品一区二区三 | 国产亚洲色婷婷久久99精品91| 热99这里只有精品| 久久无码电影| 一起草精品人妻| 国产视频一区二区免费| 人妻乱仑一区二区三区| 啪啪啪精品视频| 五月天玖玖资源站| 国产九九九九九九九九| 国产剧情AV不卡在线观看| 1024人妻熟女一区二区三区| 91强奸乱轮| 综合久久中文字幕综合日韩精品| 丰满的三级少妇欧美久久久| 女人高潮大叫一级毛片| 亚洲激情AV| 另类图片五月| 国产性感骚丝袜在线| 一区二区 日韩 欧美 国产 传媒| 九九英色视频| 久久久九九九九| 精品久久9| 91热热色| 老司机福利青青草| 国产美女自拍AV| 日韩丰满熟妇|