![](/img/trans.png)
[英]Running integration tests with Spring boot (NoSuchBeanDefinitionException)
[英]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.