Boost-Test nicht init_unit_test_suite

9

Ich führe diesen Code aus

%Vor%

Aber zur Laufzeit heißt es

  
    

Test Setup Fehler: Testbaum ist leer

  

Warum wird die Funktion init_unit_test_suite nicht ausgeführt?

    
Sam 10.06.2013, 12:41
quelle

2 Antworten

1

Haben Sie tatsächlich eine dynamische Verknüpfung mit der Framework-Bibliothek boost_unit_test hergestellt? Außerdem funktioniert die Kombination aus manueller Testregistrierung und der Definition von BOOST_TEST_MAIN nicht. Die dynamische Bibliothek erfordert leicht unterschiedliche Initialisierungsroutinen.

Der einfachste Weg, diese Hürde zu umgehen, ist die Verwendung von automatische Testregistrierung

%Vor%

Dies ist robuster und skaliert viel besser, wenn Sie mehr und mehr Tests hinzufügen.

    
TemplateRex 10.06.2013 13:10
quelle
1

Ich hatte genau das gleiche Problem. Außerdem wechseln zu automatische Testregistrierung , wie bereits früher vorgeschlagen , können Sie auch statische Verknüpfungen verwenden, dh indem Sie

ersetzen > %Vor%

mit

%Vor%

Dies wurde in der Boost-Mailingliste vorgeschlagen:

  

Der einfachste Weg, dies zu beheben, ist die Verbindung [...] mit der statischen Bibliothek.

     

Die API für die dynamische Bibliotheksinitialisierung unterscheidet sich geringfügig seit 1.34.1 und dies ist die   Ursache des Fehlers, den Sie sehen. Die Funktion init_unit_test_suite wird dabei nicht aufgerufen   Fall.

    
Sebastian Dressler 02.08.2013 08:46
quelle

Tags und Links