wxWidgets: Comment initialiser wxApp sans l'aide des macros et sans entrer dans la boucle principale de l'application?

Nous avons besoin d'écrire des tests unitaires pour un wxWidgets application à l'aide de Google Framework de Test.
Le problème est que wxWidgets utilise la macro IMPLEMENT_APP(MyApp) d'initialiser et d'entrer dans la boucle principale de l'application. Cette macro crée plusieurs fonctions, notamment la int main(). Le google test framework utilise également des définitions de macros pour chaque test.

L'un des problèmes est qu'il n'est pas possible d'appeler la wxWidgets macro à partir de la macro de test, parce que le premier crée fonctions.. Donc, nous avons constaté que nous pourrions remplacer la macro avec le code suivant:

wxApp* pApp = new MyApp(); 
wxApp::SetInstance(pApp);
wxEntry(argc, argv);

C'est un bon remplaçant, mais wxEntry() qui pénètre dans l'application d'origine de la boucle. Si nous ne les appelons pas wxEntry() il y a encore certaines parties de la demande n'est pas initialisé.

La question est de savoir comment initialiser tout le nécessaire pour un wxApp à exécuter, sans réellement l'exécuter, nous sommes donc en mesure de test de l'unité des portions de celui-ci?

InformationsquelleAutor m_pGladiator | 2008-10-16