我目前在學習單元測試google mock谷歌模擬中virtual void SetUp()
和virtual void TearDown()
的常用用法是什麼?有代碼的示例場景會很好。提前致謝。單元測試C++ setup()和teardown()
3
A
回答
4
這是爲了在每個測試的開始和結束時對要執行的代碼進行分解,以避免重複它。
例如:
namespace {
class FooTest : public ::testing::Test {
protected:
Foo * pFoo_;
FooTest() {
}
virtual ~FooTest() {
}
virtual void SetUp() {
pFoo_ = new Foo();
}
virtual void TearDown() {
delete pFoo_;
}
};
TEST_F(FooTest, CanDoBar) {
// You can assume that the code in SetUp has been executed
// pFoo_->bar(...)
// The code in TearDown will be run after the end of this test
}
TEST_F(FooTest, CanDoBaz) {
// The code from SetUp will have been executed *again*
// pFoo_->baz(...)
// The code in TearDown will be run *again* after the end of this test
}
} // Namespace
+0
如有必要,編寫一個默認構造函數或SetUp()函數爲每個測試準備對象。一個常見的錯誤是將SetUp()作爲Setup()與一個小U拼寫 - 不要讓這發生在你身上。 https://github.com/google/googletest/blob/master/googletest/docs/Primer.md#test-fixtures-using-the-same-data-configuration-for-multiple-tests#3 – 2017-08-25 13:12:03
相關問題
- 1. 單元測試setUp/tearDown是否在異步測試中工作?
- 2. python單元測試中setUp/tearDown的順序是什麼?
- 3. setUp和tearDown如何使用Jmeter和Junit進行負載測試?
- 4. tearDown在單元測試的Xcode
- 5. 如何繞過Fitnesse SetUp/TearDown進行單項測試?
- 6. Minitest #setup和#teardown在通過Rake測試運行時未調用
- 7. 爲每個測試套件運行setUp()和tearDown()方法InstrumentationTestCase Android
- 8. 如果測試有SetUp和TearDown方法,需要[RequiresSTA]嗎?
- 9. Pyunit跳過setUp和tearDown方法的測試
- 10. 如何在phpUnit的所有測試中傳播setUp和tearDown?
- 11. Jstestdriver setup and teardown
- 12. PyUnit tearDown和setUp vs __init__和__del__
- 13. 我如何使用setUp()和tearDown()
- 14. 在setUp()中調用tearDown()?
- 15. Python單元測試setUp函數
- 16. 單元測試NSOperation?
- 17. 如何爲整組JUnit測試建立一個setUp tearDown?
- 18. py.test SETUP/TearDown中對整個測試套件
- 19. 在stb測試任務期間運行setup/teardown任務
- 20. nunit setup/teardown不工作?
- 21. 谷歌測試函數setup()和teardown()被稱爲每個測試用例或整個測試用例
- 22. 單元測試(C#)
- 23. C#單元測試
- 24. C#單元測試
- 25. C#單元測試
- 26. SubSonic3在單元測試中清除測試數據/數據庫TearDown操作
- 27. 如何在EF4中回滾單元測試TearDown?
- 28. python單元測試方法
- 29. 單元測試在Python
- 30. python單元測試家務
的*模擬*沒有這樣的方法。這些是* test fixture *上的方法,它是Google Test的一個組件,而不是Google Mock。通常,您可能確實需要這些方法,因爲構造函數和析構函數將用於相同的目的。請參閱[文檔](https://code.google.com/p/googletest/wiki/V1_7_Primer#Test_Fixtures :_Using_the_Same_Data_Configuration_for_Multiple_Te)和[FAQ](https://code.google.com/p/googletest/wiki/)。 V1_7_FAQ#Should_I_use_the_constructor/destructor_of_the_test_fixture_or_t)。 – 2014-10-12 15:58:38
谷歌模擬中沒有這樣的功能,它來自谷歌測試 – ratzip 2015-09-08 07:09:36