背景:着信トラフィック用のセッションテーブルを作成しています。このテーブルは、すべてのアクティブなUDP/TCP接続を保持する必要があります。googletestのパラメータ化されたテストに関する一般的な質問
私は実装をテストするためにgoogletestパッケージを使用しています。 Iは、次の形式で固定具に基づいてパラメータ化テスト準備:
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{},
)を
I新しいパラメータがテストされるたびに、SessionTestコンストラクタおよびセットアップ機能が呼び出されることに気づいた(もちろんデストラクタのと取り壊す)。
注:私のsessionTableはここで宣言され、初期化されています。
- パラメータテストの各セット後にSetUpとTearDownを呼び出すことを避ける方法はありますか?
- 各テスト後にセッションテーブルの状態をグローバルにすることなく(つまり、2番目の接続パラメータをテストすると、最初のテーブルはまだテーブルにあります)、セッションテーブルの状態を保持する方法はありますか?