添加延迟到gtest测试用例

时间:2017-09-28 11:26:25

标签: c++ sleep googletest

我使用谷歌测试框架测试硬件以太网交换机。某些操作(例如,启用RSTP)需要时间来继续。所以我需要在测试用例中实现某种Sleep()函数:

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 个答案:

答案 0 :(得分:5)

正如其中一条评论所述,你可以使用(c ++ 14):

Localizable Information

...或对于c ++ 11,将#include <chrono> #include <thread> TEST_F(RSTP, enableRSTP) { ... using namespace std::chrono_literals; std::this_thread::sleep_for(2s); ... } 替换为:

2s

如果您不使用&gt; = c ++ 11,那么这将成为操作系统特定的问题(不是标准的c ++)