MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Wbudowana MongoDB podczas uruchamiania testów integracyjnych

Znalazłem bibliotekę Embedded MongoDB, która wygląda całkiem obiecująco i robi to, o co prosiłeś.

Obecnie obsługuje wersje MongoDB:1.6.5 do 3.1.6 , pod warunkiem, że pliki binarne są nadal dostępne w skonfigurowanym serwerze lustrzanym.

Oto krótki przykład użycia, którego właśnie wypróbowałem i działa doskonale:

public class EmbeddedMongoTest {
    private static final String DATABASE_NAME = "embedded";

    private MongodExecutable mongodExe;
    private MongodProcess mongod;
    private Mongo mongo;

    @Before
    public void beforeEach() throws Exception {
        MongoDBRuntime runtime = MongoDBRuntime.getDefaultInstance();
        mongodExe = runtime.prepare(new MongodConfig(Version.V2_3_0, 12345, Network.localhostIsIPv6()));
        mongod = mongodExe.start();
        mongo = new Mongo("localhost", 12345);
    }

    @After
    public void afterEach() throws Exception {
        if (this.mongod != null) {
            this.mongod.stop();
            this.mongodExe.stop();
        }
    }

    @Test
    public void shouldCreateNewObjectInEmbeddedMongoDb() {
        // given
        DB db = mongo.getDB(DATABASE_NAME);
        DBCollection col = db.createCollection("testCollection", new BasicDBObject());

        // when
        col.save(new BasicDBObject("testDoc", new Date()));

        // then
        assertThat(col.getCount(), Matchers.is(1L));
    }
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Podstawy replikacji łańcucha MongoDB

  2. Jak wyszukiwać dokumenty za pomocą pola _id w sterowniku Java mongodb?

  3. Jak mogę połączyć wiele kolekcji w jedną kolekcję za pomocą $lookup mongodb lub nodejs mongodb?

  4. PyMongo upsert rzuca upsert musi być instancją błędu bool

  5. MongoDB w 2018 r. - rok podsumowany