簡體   English   中英

在沒有@Repository實現的情況下使用@NoRepositoryBean運行Spring集成測試

[英]Running Spring integration tests with @NoRepositoryBean with no @Repository implementation

我遇到的情況是我有幾個模塊,而主要模塊與數據存儲區無關。 有一些子模塊依賴於主模塊以及JPA和Mongo的存儲庫實現。

  • Core-Module -所有業務邏輯, @NoRepositoryBean接口
  • Core-Mongo依賴於具有Mongo存儲庫/域的Core-Module
  • Core-JPA依賴於具有JPA存儲庫/域的Core-Module

本質上,我想做的是在Core-Module進行集成測試,使用H2數據庫執行測試,而不依賴於@Repository實現。

我意識到我可以制作僅測試的@Repository接口,這也許是我必須走的路,但是我想知道是否有更簡單的方法。 本質上,是否有一種方法可以在測試中“實例化” @NoRepositoryBean或其他一些無需聲明僅測試存儲庫的簡單方法?

我剛剛檢查了這個興趣問題。 我在測試項目UserRepository@NoRepositoryBean ,之后在測試中我無法對其進行自動@NoRepositoryBean 但是在文檔spring-docs中,我發現了Java創建存儲庫過程描述,並且它的工作原理很完美。 在測試之前,創建所需的存儲庫。 一段測試代碼示例:

  private UserRepository userRepository;

  @Autowired
  private EntityManager entityManager;

  @Before
  public void init() {
    JpaRepositoryFactory factory = new JpaRepositoryFactory(entityManager);
    userRepository = factory.getRepository(UserRepository.class);
  }

暫無
暫無

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

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