Android NDK için googletest kullanarak düzgün bir şekilde test etmeyi planladığım oldukça karmaşık bir C++ kitaplığı üzerinde çalışıyorum.Android'de java'ya çağıran C++ kodunu test etmek için googletest nasıl kullanılır?
Şimdiye kadar google testi örneğini takip ve bunun gibi proje yapısı:
adb push libs/armeabi/libfoo.so //data/local/tmp/
adb push libs/armeabi/libgnustl_shared.so //data/local/tmp/
adb push libs/armeabi/foo_unittest //data/local/tmp/
adb shell chmod 775 //data/local/tmp/foo_unittest
adb shell "LD_LIBRARY_PATH=//data/local/tmp //data/local/tmp/foo_unittest"
: Bir komut dosyası kullanarak testi ben inşa
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := foo
LOCAL_SRC_FILES := foo.cpp
include $(BUILD_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := foo_unittest
LOCAL_SRC_FILES := foo_unittest.cpp
LOCAL_SHARED_LIBRARIES := foo
LOCAL_STATIC_LIBRARIES := googletest_main
include $(BUILD_EXECUTABLE)
$(call import-module,third_party/googletest)
ve çağrı:
Android.mk
Bu, çok fazla referansı olmayan, ancak kodumun birçoğunun java/jni çağrılarına dayanan herhangi bir saf C++ koduyla iyi çalışır. Sadece C++ koduyla değil, aynı zamanda java ve kaynaklarla da gelen eksiksiz bir apk dosyası ile googletest'i nasıl çalıştırabilirim? Sadece yürütülebilir adını yazın:
int main(int argc, char **argv) {
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
Bu diğerleri gibi test programı çağırmak sağlar: Test programı içinde
ama nasıl bir apk'de ile birleştiren olacaktır: on
diğer bilgiler? – Luz
Java'da bir geri arama oluşturabilir, ardından indirilen paketi yüklemek için JNI'den arayabilirsiniz. – Shobhit