Hintergrund: Ich schreibe eine Session-Tabelle für eingehenden Datenverkehr. Diese Tabelle sollte alle aktiven UDP/TCP-Verbindungen enthalten.Allgemeine Fragen zu parametrisierten Test in googeltest
Ich verwende googletest-Paket, um meine Implementierung zu testen. Ich bereite einen parametrisierte Test auf dem Halter in folgendem Format basiert:
class SessionTest - initialize all staff.
struct ConnectionInfo - holds set of connection parameters (IPs, ports, etc..)
class SessionTestPrepare : SessionTest , testing::WithParamInterface<ConnectionInfo> - initialization.
TEST_P(SessionTestPrepare, test) - holds the test cases and logic.
INSTANTIATE_TEST_CASE_P(default, SessionTestPrepare_ testing::Values(
ConectionInfo{},
ConectionInfo{},
ConectionInfo{},
)
Ich bemerkte, dass jedes Mal, wenn neue Parameter getestet werden, die Session Konstruktor und Setup-Funktion (und natürlich destructor genannt und Niederreissen).
Hinweis: Meine SessionTabelle wird hier deklariert und initialisiert.
- Gibt es eine Möglichkeit, den Aufruf von SetUp und TearDown nach jedem Parametertest zu vermeiden?
- Gibt es eine Möglichkeit, den Zustand meiner Sitzungstabelle nach jedem Test zu halten, ohne es global zu machen (d. H. Wenn die zweiten Verbindungsparameter getestet werden, befindet sich der erste noch in der Tabelle)?