簡體   English   中英

進行順序集成測試是否可取?

[英]Is it advisable to have sequential integration tests?

我是集成測試的新手,目前正在使用 SpringBootTest 進行測試。

我從示例中大致收集到的是,每種方法都是一個集成測試(對應於一個 REST 調用)。

但是,如果我想測試一個包含一系列步驟的場景怎么辦? 比如創建用戶->更新用戶->刪除用戶。

也許那不叫集成測試? 如果是這樣,我如何將這些鏈接到 SpringBootTest 中?

好吧,在那個級別的測試中有一個測試訂單是可以的,我的意思是級別是這樣的:

單元測試-> 組件測試-> 集成測試-> 端到端測試。

當您向右移動時,測試的設置和執行更加復雜。

在我看來,您描述的測試是集成測試,因此,有順序是可以的,但是,您應該盡量避免增加復雜性,例如,使用像 H2 這樣的模擬內存數據庫,並在測試時填充它,有很大幫助。

由於數據庫在 memory 中,因此您無需清理或恢復該數據庫的 state,測試完成后數據就會消失。

現在,您需要注意測試方法的順序。 JUnit5 使用了一個新的注解 @TestMethodOrder,而 JUnit4 使用了不太可定制的 @FixMethodOrder,你可以在這里找到更多信息

最后,我建議使用更多與 BDD 相關的東西,例如 Cucumber 進行此類測試

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM