gpt4 book ai didi

c++ - 是否可以将测试标记为在 googletest 运行中花费很长时间

转载 作者:太空宇宙 更新时间:2023-11-04 13:40:23 25 4
gpt4 key购买 nike

我的大部分测试都很快完成,花费的时间不明显。但是其中一些需要几秒钟。我想向用户打印提示:

TEST(something, thing) {
std::cout << "This might take a few seconds\n";

ASSERT_EQ(expected_result, long_computation());
}

这与打印出来的内容不太吻合。 googletest 中有这个功能吗?我找不到任何相关的东西。有什么方法可以让 goggliest 理解它,向用户打印提示,甚至在测试运行时间过长时报告错误?或者任何插件可以做到这一点?谢谢

TEST(something, thing, max_time: 3 seconds) {
ASSERT_EQ(expected_result, long_computation());
}

最佳答案

我不确定是否存在类似的东西,但我相信您可以至少部分地定制您想要的一些功能。您可以自己测量测试的执行时间并添加诸如 ASSERT_GT(time_limit, measured_time) 之类的语句。考虑使用 https://github.com/google/googletest/blob/master/googletest/docs/advanced.md#logging-additional-information用于编写时间或“长”/“快”属性。考虑使用 https://github.com/google/googletest/blob/master/googletest/docs/advanced.md#running-a-subset-of-the-tests对于仅运行快速或仅运行长时间的测试,f.e.仅运行快速测试(前提是您将所有长测试命名为 *Long):./foo_test --gtest_filter=-*Long

关于c++ - 是否可以将测试标记为在 googletest 运行中花费很长时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27886249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com