簡體   English   中英

在不同的JUnit測試類之間共享數據的最佳方法是什么

[英]What is the best way to share data between different JUnit test classes

我正在為大型應用程序編寫JUnit測試,並且對象太大而無法在代碼本身中進行初始化。 因此,我們決定將對象放入JSON文件中。

現在,它更具可讀性,並且代碼很干凈。 但是,當我連接代碼時,我知道可以在其他測試類之間共享相同的JSON文件。 我不想在每個測試中一次又一次地解析它。

我考慮過一個單例,但是也許有更好的方法通過規則或繼承來做到這一點?

您絕對應該首選組合而不是繼承。 即“具有”而不是“是”。 因此,如果重新解析文件不可行,那么單例聽起來就不會令人恐懼。 確保單例不可變。 如果需要在同一測試類中聲明的兩個不同測試用例之間共享字段,則可以使用靜態。

始終在不同的測試用例之間共享狀態是不同的,因為它們應該在自己的隔離環境中執行,而不要依賴於其他測試用例。

您可以將jvm的系統屬性設置為兩個字符串之間的鍵值映射。 字符串鍵可以指向一個字符串值,該值是您要在測試類之間共享的json文件的絕對目錄路徑。 如何共享比字符串更復雜的數據,我不確定如何或是否可行。

暫無
暫無

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

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