MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Pengujian integrasi dengan Testcontainers + Quarkus + MongoDB

Saya tidak bisa mengatakan dengan pasti tanpa melihat konfigurasi pengujian Anda, tetapi saya kira itu berfungsi dengan docker run dan bukan Testcontainers karena docker run mengekspos port tetap (selalu 27017) tetapi Testcontainers akan mengekspos port 27017 sebagai port acak (untuk menghindari konflik port pada mesin uji).

Untuk menggunakan Testcontainers dengan pengujian Quarkus, pengujian Anda harus mengikuti alur ini:

  1. Mulai penampung. Ini diperlukan karena port acak yang terbuka untuk MongoDB hanya dapat diketahui setelah wadah telah dimulai.
  2. Dapatkan port acak dari Testcontainers setelah container dimulai, lalu atur properti konfigurasi pengujian apa pun yang bergantung pada port container. Misalnya:

    static GenericContainer mongodb = new GenericContainer<>("mongo:4.2").withExposedPorts(27017);
    static {
      mongodb.start();
      System.setProperty("quarkus.mongodb.connection-string",
                         "mongodb://" + mongodb.getContainerIpAddress() + ":" + mongodb.getFirstMappedPort());
    }
    
  3. Biarkan Quarkus mulai. Karena Quarkus tidak mendukung konfigurasi dinamis, Anda harus menyetel port MongoDB sebelum Quarkus dimulai.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. res.redirect menampilkan informasi lama setelah pengiriman formulir?

  2. MongoDB tidak sama dengan

  3. Mengapa data pegas mongo tidak mengembalikan bidang setelah waktu?

  4. Bagaimana ClusterControl Melakukan Pemulihan dan Kegagalan Basis Data Otomatis

  5. Pengurai tubuh yang tidak digunakan lagi?