android c++ unit-testing android-ndk tdd

Googletest para Android NDK



c++ unit-testing (4)

Verifiqué una respuesta anterior sobre la prueba unitaria para Android, donde se sugiere Googletest como una buena opción . Sin embargo, eché un vistazo al marco de pruebas de Google C ++ - Googletest . Acerca de las plataformas, no veo nada que mencione el soporte para Android. ¿Podría alguien decir algo, si hay alguna forma de usarlo con dispositivos Android, por ejemplo, pasos para construir una cadena de herramientas, etc.



GoogleTest ahora se distribuye con el NDK (principalmente porque es utilizado por el propio conjunto de pruebas NDK).

Es muy fácil de usar en sus propios proyectos, vea $ NDK / sources / third_party / googletest / README.NDK para ver ejemplos de uso.


Necesitas crear Googletest para Android para poder ejecutarlo con tu cadena de herramientas, mientras trabajas con compilación cruzada.

Descargar el código fuente de googletest

$ mkdir googletest $ cd googletest $ svn checkout http://googletest.googlecode.com/svn/trunk/ .

Copiar el directorio jni al directorio de Google

$ cd /path/to/this/git $ cp -r jni googletest/

ejecutar el script ndk-build

$ cd googletest/ $ ndk-build

Puede encontrar libgtest.a en googletest / obj / local / armeabi / libgtest.a

Fuente: sfuku7 / googletest_android_ndk-build - github


jni / android.mk:

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)