2017-09-28 43 views
1

ハードウェアイーサネットスイッチをテストするためのGoogleテストフレームワークを使用しています。一部の操作(e.x. RSTPを有効にする)には時間がかかります。だから私は、テストケースの内側Sleep()機能のいくつかの並べ替えを実装する必要があります。gtestに遅延を追加するテストケース

TEST_F(RSTP, enableRSTP) { 
    snmp.set(OID, Integer32(3)); 
    // after changing value switch is unavailable 
    // so I need to wait before request 
    auto result = snmp.get(OID); 
    auto res = std::get<Integer32>(result); 
    ASSERT_EQ(res, Integer32(3)); 
} 

私はこれを実現するにはどうすればよいですか?

+1

これが問題ないかどうかわかりませんが、 'std: :this_thread :: sleep_for' –

+0

あなたはC++ 11を使用していますか? –

+0

そうでない場合は、どのOSを使用していますか? –

答えて

1

コメントの1で述べたように、あなただけの(++ 14 C)を使用することができます:

#include <chrono> 
#include <thread> 
TEST_F(RSTP, enableRSTP) { 
    ... 
    using namespace std::chrono_literals; 
    std::this_thread::sleep_for(2s); 
    ... 
} 

...またはC++ 11のために、と2sを置き換える:

std::chrono::seconds(2) 

> = C++ 11を使用しない場合は、OS固有の質問になります(標準C++ではありません)

+0

ありがとう!ちょうど私が必要とするように動作します – Alexandr

関連する問題