2016-03-07 86 views
4

我正在運行谷歌測試。谷歌測試 - 上課前

我需要像上課之類的東西。我有SetUp()和TearDown()函數,但它們在之前和之後運行,每個測試。現在我需要一些全局的東西 - 比如ctor,它應該在類加載時只運行一次。

感謝提前。

+0

請詳細說明這個「班級加載的一次」。你指的是什麼課,「加載」課是什麼意思? –

+0

我的意思是在所有**測試開始之前運行的東西。沒有爲每個測試用例設置。 – Rat

回答

7

您可以定義靜態成員函數在每個燈具類void SetUpTestCase()void TearDownTestCase(),即從::testing::Test派生每個類。

對於每個燈具,在燈具中的所有測試運行之前和之後,該代碼只能運行一次。

檢查docs

+0

Perez - 如何爲所有測試(在所有測試案例中)做到這一點?我的意思是,我希望在每次測試之前,同樣的SetUp方法將運行,以及在每次測試之後,同樣的TearDown方法將運行,而無需添加/編輯任何現有類? –

+1

@GuyAvraham:AFAIK框架中沒有這樣的鉤子函數可以讓你做到這一點。你可能需要自己構建它,也許可以爲':: testing :: Test'定義一個子類,然後讓它從你的測試類派生出來。 –

+0

謝謝,我試過了 - 它的工作原理。 –