簡體   English   中英

獲取 GoogleTest 運行的測試數/運行 0 次測試失敗?

[英]Get number of tests ran by GoogleTest / fail on 0 tests run?

我正在使用 cmake 的測試運行程序來運行幾個 googletest 測試二進制文件。 我想要發生的是,如果 googletest 測試二進制文件通過RUN_ALL_TESTS()運行 0 個測試,它會失敗。 目前, RUN_ALL_TESTS()在運行 0 次測試時返回成功。 或者,如果我能以某種方式訪問RUN_ALL_TESTS()運行的測試數量,我可以將其成功覆蓋為錯誤並改為冒泡錯誤。

我嘗試使用--no-tests=error在 cmake 級別修復此問題。 然而,這不起作用。 我認為原因是 cmake 認為自己正在運行 googletest 測試二進制文件,這些都算作“運行測試”,即使測試二進制文件本身沒有任何測試。 或者,可能是因為某些 googletest 測試二進制文件有測試, --no-tests=error參數沒有觸發。

我查看了googletest ,這里列出的所有標志似乎都沒有幫助我沒有看到設置選項的方法, RUN_ALL_TESTS沒有返回任何其他信息,也沒有看到 function 來獲取測試運行次數。

我錯過了哪些選項?

cmake 測試運行器很容易失敗。

#include <gtest/gtest.h>

int main(int argc, char **argv) {
  ::testing::InitGoogleTest(&argc, argv);
  const int rv = RUN_ALL_TESTS();
  if (rv != 0)
    return rv;
#if 1
  if (::testing::UnitTest::GetInstance()->test_to_run_count() == 0)
    return 1;
#else
  if (::testing::UnitTest::GetInstance()->successful_test_count() == 0)
    return 1;
#endif
  return 0;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM