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