SORU
22 HAZİRAN 2011, ÇARŞAMBA


Entegrasyon testleri çalışan MongoDB gömülü

Benim sorum this one bir çeşididir.

Beri benim Java Web uygulaması proje gerektirir bir sürü okuma filtreler, sorgular ve arayüz araçları gibi GridFS, benim mücadelemi düşünmek mantıklı bir şekilde istihdam MongoDB şekilde yukarıdaki çözüm öneriyor.

Bu nedenle, entegrasyon testleri yanında MongoDB gömülü örneğinin çalıştığını düşünüyorum. Bunu yapmak istiyorumotomatik olarak Başlat(her test için ya da tüm suit),veritabanı yıkayınher test için, vekapatsonunda. Bu testleri geliştirme makineleri yanı sıra CI sunucuda çalıştırmak olabilir, benim çözüm de gerekirtaşınabilir.

MongoDB yardım konusunda daha fazla bilgiye sahip olan biri bana bu yaklaşımın fizibilite fikir alabilir, ya da bana başlamanıza yardımcı olabilecek herhangi bir okuma malzemesi/belki önerirsiniz?

Aynı zamanda insanlar bu sorunu yaklaşım nasıl olabilir diğer önerilere açığım...

CEVAP
22 Mart 2012, PERŞEMBE


Oldukça umut verici görünüyor Embedded MongoDB kütüphane buldum ve sordum ne alakası var.

Şu anda aşağıdaki MongoDB sürümü destekler: 1.8.4, 1.9.0, 2.0.1.

Ekle işte sadece ben denedim ve mükemmel çalışıyor ki kullanın, kısa örnek:

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));
    }
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Fraser Raft

    Fraser Raft

    9 Mart 2010
  • Liam Underwood

    Liam Underwo

    19 Mayıs 2009
  • pucksz

    pucksz

    24 Mart 2006