亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 JPATest 和 MongoDB 測試為 Polyglot Springboot 編寫測試

使用 JPATest 和 MongoDB 測試為 Polyglot Springboot 編寫測試

HUWWW 2023-05-17 14:49:50
我正在設置一個新的 Springboot 2 應用程序,它同時使用 MYSQL 數據庫和 MongoDB 數據庫進行數據存儲。我無法理解如何為同時使用 DataJPA 和 DataMongo 的測試編寫類。通過使用同時使用 JPA 存儲庫和 Mongo 存儲庫的服務,在兩者之間設置查詢以供實際使用是一項相對簡單的任務。在編寫測試用例時,我能夠使用 H2 和嵌入式 Mongo 輕松地為 JPA 實體 ( @DataJPATest) 或僅為 Mongo 實體 ( ) 編寫測試。@DataMongoTest不可能同時使用 JPA 和 Mongo 注釋定義測試類,因為 Spring 只允許 1 個引導程序。這是來自 JPA MYSQL 的類:@Entity@Datapublic class Product {    @Id    @GeneratedValue(strategy = GenerationType.IDENTITY)    private Integer id;    @Size(max = 255)    private String name;    @Size(max = 1000)    private String description;}Mongo Repos 的類:@Document@Datapublic class Review {    @Id    private String id;    @Indexed    private String title;    private String reviewText;    private boolean recommended;    @Indexed    private Integer productId;    @DBRef    private List<Comment> comments;}@Document@Datapublic class Comment {    @Id    private String id;    private String title;    private String commentText;}樣本預期測試類:@RunWith(SpringRunner.class)@DataJpaTest@DataMongoTestpublic class ReviewRepositoryTests {    @Autowired    TestEntityManager entityManager;使用 DataJPA 和 DataMongo 編寫測試類會導致此堆棧錯誤:java.lang.IllegalStateException: Configuration error: found multiple declarations of @BootstrapWith for test class [xyz.cybersapien.tech.reviews.ReviewRepositoryTests]: [@org.springframework.test.context.BootstrapWith(value=class org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTestContextBootstrapper), @org.springframework.test.context.BootstrapWith(value=class org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTestContextBootstrapper)]
查看完整描述

1 回答

?
慕勒3428872

TA貢獻1848條經驗 獲得超6個贊

嘗試@SpringBootTest代替@DataJpaTest和@DataMongoTest


@RunWith(SpringRunner.class)

@SpringBootTest

public class ReviewRepositoryTests {


? ? @Autowired

? ? TestEntityManager entityManager;

查看完整回答
反對 回復 2023-05-17
  • 1 回答
  • 0 關注
  • 142 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號