[英]Is the test suite setup method executed once for each test, or only once for all?
我知道每個測試框架的答案可能不同。 但對於你知道的人,會發生什么?
在NUnit中,您有TestFixtureSetUp
,它只在夾具運行中的所有測試之前運行一次,而SetUp
在每個測試方法運行之前運行。
在MSTest中,您有TestInitializeAttribute
在負載測試中運行時,使用此屬性標記的方法將針對測試中的每個虛擬用戶迭代運行一次。 如果需要執行一次適用於整個測試的初始化操作,請使用ClassInitializeAttribute 。
AssemblyInitializeAttribute
對所有類中的所有測試運行一次。
這自然取決於框架,對於具體的答案,您應該檢查相關文檔。
設置測試方法,或者固定裝置很有用,但不應濫用它們。 如果單元測試有復雜的設置方法,你可以說它們更像是集成測試,因此應該重構。 復雜的測試設置是代碼氣味。 另一方面,明智地使用設置方法可以減少重復並使測試更具可讀性和可維護性。
在junit4中,您可以使用注釋來標記這兩種設置/拆卸方法。 以下是摘要:
@BeforeClass
之前運行安裝程序 @AfterClass
后運行拆卸 @Before
@After
后運行拆卸
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.