Comment utiliser googletest pour tester le code C ++ qui appelle java sur Android?

Je travaille sur une bibliothèque C ++ assez compliquée que j'ai l'intention de tester correctement en utilisant googletest pour Android NDK.

Jusqu'à présent, je suis l'exemple de test de google et structure le projet comme ceci:

  • Android Studio Gradle Build prend plus de 5 minutes
  • Problème de signature Android Release Build "Impossible de lire la clé dans le magasin de clés"
  • Mauvaise version keystore lors de l'appel https
  • Existe-t-il une alternative à la visionneuse web?
  • Android redimensionner bitmap garder le rapport d'aspect
  • Enregistrer le tableau d'objets personnalisé dans l'état de l'instance
  • 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) 

    Je crée et appelle le test en utilisant un fichier de script:

     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" 

    Cela fonctionne bien avec n'importe quel code C ++ pur qui n'a pas beaucoup de références, mais beaucoup de mon code repose réellement sur les appels java / jni. Comment puis-je exécuter googletest avec un fichier apk complet qui vient non seulement avec le code C ++, mais aussi avec le java et les ressources?

  • Bibliothèque partagée manquante dans Android.
  • Comment puis-je garder le rapport d'aspect sur les boutons d'image dans Android?
  • ViewPager ne supporte pas layout_height = wrap_content
  • Comment implémenter un titulaire de vue?
  • Dans Android, comment définir les marges dans dp par programme?
  • View in ScrollView ne correspond pas à parent comme configuré
  • One Solution collect form web for “Comment utiliser googletest pour tester le code C ++ qui appelle java sur Android?”

    Dans votre programme de test, vous aurez une fonction principale () qui ressemble à ceci:

     int main(int argc, char **argv) { ::testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); } 

    Cela vous permet d'invoquer le programme de test comme n'importe quel autre: tapez simplement le nom de l'exécutable dans un shell.

    Plus d'infos sur:

    https://github.com/google/googletest

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.