2010-04-19 50 views
1

我在UnitTest ++中編寫了一些單元測試,並且希望編寫一些共享某些公共資源的測試。我認爲這應該通過他們的TEST_FIXTURE設置工作,但它似乎正在爲每個測試構建一個新的夾具。示例代碼:UnitTest ++多次構造燈具?

#include <UnitTest++.h> 

struct SomeFixture { 
    SomeFixture() { 
     // this line is hit twice 
    } 
}; 

TEST_FIXTURE(SomeFixture, FirstTest) { 
} 

TEST_FIXTURE(SomeFixture, SecondTest) { 
} 

我覺得我一定在做錯事;我曾經認爲有夾具的全部重點是安裝/拆卸代碼只發生一次。我錯了嗎?還有什麼我必須做的才能使它以這種方式工作?

回答

6

測試夾具的要點是不必在每次測試中編寫相同的設置/拆卸代碼,而不是共享狀態。如果你想共享狀態,那麼你可以在你的測試中簡單地引用一個帶有靜態字段和靜態函數的類,然後你可以使用標準的TEST宏而不是TEST_FIXTURE。哈哈!

+0

哈!我贏了10秒.... +1 :) – 2010-04-19 00:35:52

+0

好吧,如果這是它應該如何工作。我會承認有點失望。我沒有看到TEST_FIXTURE這樣對我有用,但我想我必須忍受它。感謝您清理它,無論如何:) – Peter 2010-04-19 00:53:09

2

具有所述固定器的整個點爲使得安裝/拆卸代碼只發生一次

否,夾具的整點是固定裝置要重複每個測試。你所看到的是預期和正確的行爲。