我使用谷歌测试框架测试硬件以太网交换机。某些操作(例如,启用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));
}
我如何做到这一点?
答案 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 ++)