chrome單元測試 單獨編譯 chromium的Gtest


 

D:\dev\electron7\src>ninja -C out/Testing net_unittests
out\Testing\net_unittests.exe --gtest_filter=*HttpContentDispositionTest.Filename*



運行:
out/Debug/net_unittest​s --gtest_filter=*DiskCacheBackendTest.SparseEvict*

 

測試源碼:

 

 

  1. chromium的C++ unit test是所謂的GTest
  2. 然后我們就去搜這個文件的名字,看看它在哪個gn target,發現這個東西是net_unittest的一部分。也可以查找本地機器上源碼,搜索*.gn,找到它的gn target目錄。
  3. 或者可以:獲取所有構建目標:
  4. gn ls out/Default
  5. 比如:
    //chrome/test:unit_tests

  6. 構建這個目標,去掉//:
    ninja -C out/Default chrome/test:unit_tests
  7. 最后運行test unit
    1. out/Debug/net_unittest​ --gtest_filter=*DiskCacheBackendTest.SparseEvict*
    2. out\Default\unit_tests.exe --gtest_filter="PushClientTest.*" 

(std中字符串字面常量,任意字符串都可以作為分割符:std:string s=fffxxxhahaha i'am here. she said:" no!"fffxxx

這里fffxxx是字符串的表示。

)

大概思路就是這樣,至於具體能不能跑,可以參考一下chromium的這個文檔。

您可以在 GitHub頁面上找到有關GoogleTest的更多信息。
 
 
gn args out\Default 

gn gen out\Default --ide=vs2017 --fillter="//base:*;//chrome:*;//components:*;//net:*;//net:*;" --sln=chrome --no-deps

ninja -C out\Default chrome

#單元測試編譯
ninja -C out\Default chrome\test:unit_tests

報錯:

D:\dev\electron7\src>out\Testing\net_unittests.exe --gtest_filter=*HttpContentDispositionTest.Filename*
ERROR: This build is more than 70 days out of date.
This could indicate a problem with the device's clock, or the build is simply too old.
See crbug.com/666821 for why this is a problem
    base::Time::Now() --> 2020-09-21 03:04:09.533 UTC (13245131049533601)
    base::GetBuildTime() --> 2020-06-07 05:00:00.000 UTC (13235979600000000)

改了系統時間好了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM