簡體   English   中英

TDD測試應用入口點

[英]TDD testing application entry points

我是TDD的新手,到目前為止非常喜歡它(盡管這是一個調整過程)。

但是,我正在努力研究如何測試應用程序的入口點。 我指的是main(String... args)方法,這個類的唯一職責是從/向磁盤加載和保存屬性文件等。

當我第一次做代碼時,這似乎不是問題。 我只是不會為那些方法/類編寫測試。 但是,當我必須在沒有測試的情況下編寫代碼時,我應該如何遵循TDD流程?

換句話說,何時/如何編寫入口點適合TDD開發過程?

在大多數情況下,您無法對入口點進行單元測試,因為根據定義, 單元測試會單獨測試單元與其依賴關系。

除了一些微不足道的邊緣情況之外,應用程序的入口點是組合根 - 即所有單元集成的位置。 雖然您可以對入口點執行完整的系統測試,但通常應將其視為Humble Executable

我個人的規則是,Humble Executable不能包含任何邏輯(只有合成),我用Cyclomatic Complexity來衡量它; 如果Humble Executable的Cyclomatic Complexity是1,那么可以不測試它。

但是,盡管您無法對入口點進行單元測試,但您仍然可以使用Outside-In TDD來驅動組合,盡管您通常仍需要使用Test Doubles替換一些外部服務。

暫無
暫無

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

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