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:

  • Comment intégrer Paytm wallet dans une application Android?
  • L'échec Android de l'intégration ionique - L'exécution a échoué pour le processus de tâcheDebugResources
  • La colonne _id n'existe pas
  • OnListItemClick ne fonctionne pas pour listview?
  • Mediaplayer répond au deuxième clic pour faire une pause
  • Assurez-vous que certaines zones de bitmap sont transparentes sur le contact
  • 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?

  • Effacer automatiquement la largeur déroulante
  • Obtenez la maison, le travail et les lieux favoris de l'utilisateur, comme Google Inbox,
  • Comment utiliser le qualificatif 2 @ Named de Dagger à Kotlin
  • Pourquoi est-ce que je reçois InvocationTargetException? Android 2D game
  • Traitement vidéo en Android
  • Envoyer des informations sur les pistes via A2DP / AVRCP
  • 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.