我知道每個測試框架的答案可能不同。但對於那些你知道的,會發生什麼?測試套件設置方法是針對每個測試執行一次還是僅針對所有測試執行一次?
5
A
回答
4
在MSTest的,你有TestInitializeAttribute
當負荷試運行,標誌着具有這種屬性的方法將在測試每個虛擬用戶重複運行一次。如果您需要進行一次初始化操作,適用於整個測試,請使用ClassInitializeAttribute。
AssemblyInitializeAttribute
對所有類的所有測試運行一次。
4
在NUnit中,您有TestFixtureSetUp
,它在夾具運行的所有測試運行前只運行一次,而在運行每種測試方法前運行的運行SetUp
。
3
這當然取決於框架,對於具體的答案你應該檢查相關的文檔。
設置測試方法或固定裝置是有用的,但不應濫用。如果單元測試有complex set up methods你可能會認爲它們更像集成測試,因此應該重構。一個複雜的測試設置是一種代碼味道。另一方面,明智地使用方法可以減少重複並使測試更具可讀性和可維護性。
1
在junit4你有註釋可用來標記這兩種安裝/拆卸方法。以下是摘要:
- 每個測試套件使用前運行安裝程序
@BeforeClass
- 運行的每個測試套件使用
@AfterClass
- 在套房內使用的每個測試方法之前運行安裝程序後推倒
@Before
- 運行拆除每個測試方法後在您的套件中使用
@After
相關問題
- 1. 僅運行測試設置一次
- 2. 僅針對多個測試用例登錄一次 - Selenium,JUnit
- 3. 針對WAR運行測試
- 4. 僅對單一方法運行測試
- 5. RSpec:想要針對一次性方法進行多次測試,包括燈具
- 6. 測試套件執行Jubula
- 7. 如何在單次測試中多次執行單元測試?
- 8. 如何在執行另一個測試後執行測試?
- 9. 對多個測試類只執行一次初始化代碼
- 10. 在Go中還是一個一個地執行測試?
- 11. 在測試開始時運行一次的測試方法?
- 12. Firebase - 無法針對獨立測試項目運行測試
- 13. Sahi專業測試套件僅運行一個測試案例
- 14. 避免並行單元測試對單個類中的所有測試執行
- 15. 在C#中如果我可以第一次測試停止其他測試或執行所有測試嗎?
- 16. QUnit僅運行第一次測試
- 17. 多個單元測試項目 - 一次運行所有測試,但每次只有一個項目
- 18. 如何爲每個測試類啓動一次活動,而不是每種測試方法一次?
- 19. 我怎麼能執行測試方法後,每次幾個測試這是使用數據提供
- 20. 僅針對數組列表中的每個ID執行一次
- 21. TestNG - 無法在套件中執行相同的測試兩次
- 22. 在第一次失敗時停止執行特定的rspec測試(不是測試套件)
- 23. 安裝和拆卸功能對所有的nosetests測試執行一次
- 24. 獲取針對測試計劃執行的所有測試運行詳細信息ID
- 25. VS2010負載測試:如何執行在每次負載測試之前運行一次的自定義操作
- 26. 在junit4執行最後一次測試後執行全局拆卸方法
- 27. QTest執行測試用例兩次
- 28. 用pytest執行幾次測試
- 29. Android Espresso - 如何爲所有測試只運行一次設置
- 30. Junit爲整個集成測試設置了一次(所有測試類)