2013-02-15 30 views
5

我正在嘗試在我正在開發的一款軟件中執行一些隨機測試。
我有一個用隨機值初始化的夾具,因此,每個測試都會有不同的輸入。多次調用單個測試 - Google Tests

此外,我想要的是多次運行其中一個測試(我期望每次執行都會隨機初始化燈具),Google測試中可以嗎?我需要在代碼中,而不是使用一個參數或類似的東西。

我正在尋找類似於JUnit中的invocationCount之類的東西。

+0

HTH:http://code.google.com/p/googletest/wiki/V1_6_AdvancedGuide#Value_Parameterized_Tests – PiotrNycz 2013-02-15 10:59:09

+0

@PiotrNycz:謝謝,我認爲可以通過'Value-Parameterized Tests'實現,但我必須創建一個我想重複一次測試的具體夾具。不是嗎?如果重複測試,似乎並不複雜? – 2013-02-15 11:08:05

+1

我沒有太多的GT經驗來回答你的問題。我同意這看起來很複雜 - 也許你可以直接詢問谷歌的人? – PiotrNycz 2013-02-15 13:21:51

回答

6

如何這樣的事情,利用未使用的參數和範圍()

class Fixture : public ::testing::TestWithParam<int> { 
    //Random initialisation 
}; 

TEST_P(Fix, Test1){} 

INSTANTIATE_TEST_CASE_P(Instantiation, Fixture, ::testing::Range(1, 10)); 

Test1西港島線被稱爲10倍,有一個新的夾具每次創建。

+0

這就是我正在討論與@PiotrNycz在問題評論,似乎是唯一可用的解決方案。謝謝 – 2013-02-15 15:08:26