2011-12-14 30 views
5

Bazı entegrasyon testleri ile büyük bir C++ codebase miras aldım. Bu, bir çok alt sisteme veri besleyen kritik bir sistemdir. Testler çok güvenilmez olduğundan ekibimiz değişiklikleri güvenli bir şekilde zorlayamaz.C++ kodunu Java kullanarak test etme

Sistemde bazı testler yapmak istiyoruz, ancak çoğu geliştiricinin Java arka planı var. Hangi seçeneklerimiz var?

1) bilgi C++

2) Kullanım JNI'yı: Emin değil ne kadar kolay olduğunu

+1

Kayıt için: 1 bir alt kümesidir. Ne olursa olsun C++ öğreneceksiniz. –

+0

3) bunlar entegrasyon testleri olduğundan, C++ kodunu ayrı bir işlem olarak arayabilir, test verilerini besleyebilir ve çıktılarını görür – Thilo

+0

JNA'yı kullanmayı düşündünüz mü? JNI'den daha yavaş, ancak C++ kodu yazmadan C++ yöntemini çağırabilirsiniz. –

cevap

2

JNI'yı başka karmaşıklık katmanı ve hala C++ öğrenecektir ekler kullanma - Ben eğer bunu tavsiye etmem C++ kullanmak istemezsiniz.

C++ sistemine bağlı olarak farklı test stratejileri seçebilirsiniz. Tecrübemde veri işlemeden sorumlu bir sistem vardı ve tüm veriler ağ üzerinden gönderildi. Bu durumda testler python yapıldı: Biz (ayrıca python kontrollü) Belirli bir giriş

Davam bir şanslı verilen

  • biz işlenen veri geçerliliğini kontrol protokolü kontrol
    1. iletişim bir ağ bağlantısı üzerinden yapıldığından beri (istediğimiz dili tam anlamıyla kullanabilirdik).

      C++ 'dan başka bir şey kullanamazsanız, C++' da (Java + JNI + C++ değil) yapmalısınız.

    +0

    Şanslı değilim :( – NRS

    0

    C veya C++ kodu yazmanızı gerektirmeyen JNA'u denemenizi öneririm. JNI'den daha yavaştır, ancak test edilmesi muhtemel olmayan testler için.