簡體   English   中英

google test 是如何制作測試序列的

[英]How does google test make test sequence

google-test 如何制作測試序列(or order of test case execution)來測試測試用例?

假設我有 5 個測試用例。

TEST(First, first)
TEST(Secnd, secnd)
TEST(Third, third)
...
TEST(Fifth, fifth)

google-test如何測試上面的測試用例? 我的意思是按什么順序? 或者我們可以提供任何測試序列嗎?

默認情況下,它將按照在鏈接時找到它們的順序測試它們,這取決於您的工具。

您可以選擇要運行的測試,例如子集或單個測試。

還可以選擇以隨機順序運行它們

改組測試一章中 googletest 的高級參考頁面告訴:

默認情況下,Google 測試使用從當前時間計算的隨機種子。 因此,您每次都會收到不同的訂單。

這實際上是一種很好的單元測試方式,因為測試不應該依賴於執行的順序。

據我所知,沒有辦法設置測試執行的順序。 您可以設置的唯一參數是種子,用於設置相同的執行順序。

默認情況下,它們按聲明順序運行。 正如其他人所說,您必須提供標志--gtest_shuffle來隨機播放它們。

即使您可以猜測執行順序的某種模式(如書面或鏈接),您也不應該依賴於此。

但是,它會在不同的執行中重復。 如果您不希望它發生,您可以使用--gtest-shuffle 根據隨機種子,以隨機順序運行測試。

如果失敗,您可以使用--gtest_random_seed=與該數字並重復確切的序列(以調查失敗的原因)。

也就是說,隨機性是不完整的:

  • 測試套件將以隨機順序運行
  • 測試套件中的測試將以隨機順序運行

如果不以這種方式運行,SetUpTestSuite 和 TearDownTestSuite 方法將混合使用。 但是,您不需要固定裝置來進行這種分組。

暫無
暫無

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

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