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