簡體   English   中英

我將存根放在哪里?

[英]Where do I put my stubs?

我一直在將abstract類的存根實現用於測試目的。 目前,我的單元測試位於src目錄旁邊的test目錄中。

我想知道是否有最佳實踐來放置在測試中使用的任何存根。 我一直在嘗試一些事情,但是無論我做什么,我的一部分似乎總是被打擾。

我嘗試過的事情:

  • 在使用它們的實際單元測試中聲明存根實現。 當您必須在多個JUnit類中使用存根時,這種情況變得很平坦。
  • 將存根與其父類放在同一包中。 這似乎是一個可怕的主意,因為它突然具有測試代碼,污染了src的軟件包。
  • 將存根類保留在test包結構中的某個位置。 這似乎是最合理的選擇,但我不確定實現此目的的最佳方法是什么。

請記住,我可能對此考慮過度。 是否有關於最佳做法的任何信息可以讓我安心? 切換到模擬框架是否可以解決這個難題?

非常感激。

由於您給出的原因,第三個選項肯定比其他兩個選項更好。 我喜歡在這樣的時間引用Maven目錄結構 ,它似乎並不意味着與您的第三個選項有所不同。

我要做的是在測試本身內部將存根創建為內部類。 一旦太混亂或需要重用,我將存根與抽象類放在同一包中,但放在test目錄下。


可能值得一提的是,許多項目演變為具有“ Builder”對象,其工作方式如下:

Person person = new PersonBuilder().withName("John Doe").withDefaultAddress().build();

這樣做的原因是,有時根據您要測試的內容,需要為Person創建許多不同的方式。 僅擁有一個PersonStub可能還不夠。

暫無
暫無

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

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