Boost::Test und Ansynchronizität



  • Hat jemand von euch schon mal mit Boost::Test gearbeitet?
    Mich interessieren vor allem ein paar Dinge bezüglich der Asynchronizität.
    Entweder man registriert einzelne Test cases manuell oder nutzt das BOOST_AUTO_TEST_CASE Macro, welches dann von Boost umgewalndet wird.
    Das ist alles schön und gut, aber hat jemand ne Lösung, wie man damit ansychrone und non-blocking calls testen kann?
    Ich hab eine Socket Klasse, deren Funktionalität ich gerne Testen will. Nun kann ich die eine Seite der Kommunikation durch ein Mock-Object ersetzen, aber ich bin immernoch darauf angewiesen die Calls nicht linear abzusetzen.
    Wie testet man so etwas?

    BOOST_AUTO_TEST_CASE(foo)
    {
     BOOST_CHECK_EQUAL(3,4);
    
    }
    

    Ist was anderes, als wenn ich mit Listenern arbeiten muss:

    void meineFunktion(const char * text)
    {
      // vergleiche es mit irgendwas
    }
    BOOST_AUTO_TEST_CASE(foo)
    {
      mocksocket m;
      MeinSocket meins(1000); // lausche auf 1000
      meins.callback(meineFunktion); // registriere callback
      m.sende("foo"); 
    
      BOOST_CHECK_??
      // hier ist test zu ende
    }
    

    Ansynchron und voll daneben


Anmelden zum Antworten