簡體   English   中英

在種子應用程序中,可以將應用程序服務打包在Web模塊中嗎?

[英]In seed application can a application service be packaged in web module?

對於我們的Web應用程序,我們已經在Resources類中編寫了大部分代碼。 現在,我們要使用帶有“簡單集成測試”的junit測試對Web模塊進行單元測試。

但是,使用這種包裝,我們只能測試我們的存儲庫,而不能測試發現者和其他業務邏輯。

我們是否需要將代碼從Resource類移到可以在單元測試中注入的應用程序服務? 如果是,我們可以在Web模塊中編寫這些服務嗎? 通常,我們在應用程序模塊中編寫這些服務,但在這種情況下,服務無法訪問網絡中存在的查找器

您的資源類應僅包含公開應用程序REST API所需的代碼:無業務邏輯,無應用程序(用例)邏輯,無數據訪問。 資源類應僅使用其他組件(例如存儲庫,服務和查找器)來獲得所需的結果。

在SeedStack項目中,尤其是在使用業務框架時,建議您尊重DDD層模型:

  • 域層是通過包含域對象(實體和值對象)的聚合以及域服務來表示業務的地方。
  • 應用程序層負責驅動應用程序的工作流程,並通過應用程序服務執行系統的用例。 也可以通過單元測試和簡單的集成測試來測試該層。
  • 接口層處理與其他系統的交互。 對於您而言,這是使用REST資源完成的。 這些資源在必要時可以依賴查找器來查詢數據庫。

除了REST資源外,您可以使用單元測試和簡單的集成測試來測試這些組件中的任何一個,因為它們依賴於Web運行時環境。 這些只能在Web集成測試 (使用Arquillian)中進行測試

您可以在此處此處找到通過簡單集成測試測試過的查找程序的示例。

暫無
暫無

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

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