gpt4 book ai didi

c++ - 如何在 visual studio 中运行单个 google 测试?

转载 作者:太空狗 更新时间:2023-10-29 23:33:12 26 4
gpt4 key购买 nike

我已经为谷歌测试配置了 visual studio。然后我在 vs2010 中编写了一些简单的 google 测试用例,如下所示:

TEST(simpleTest, test1){
float base = 4.f;
float exponent = 1.f;
float expectedValue = 4.f;
float actualValue = pow(base, exponent);
EXPECT_FLOAT_EQ(expectedValue, actualValue);
}
TEST(simpleTest, test2){
float base = 4.f;
float exponent = 2.f;
float expectedValue = 16.f;
float actualValue = pow(base, exponent);
EXPECT_FLOAT_EQ(expectedValue, actualValue);
}
int main(int argc, char **argv) {
::testing::InitGoogleTest(&argc, argv);
RUN_ALL_TESTS();
}

我的问题是如何不运行所有 (RUN_ALL_TESTS) 测试而是运行一个特定的测试用例?是否有任何宏,例如运行(simpleTest.test1); ?

最佳答案

如果需要,您可以使用 GTEST_FLAG 宏将命令行标志编译到测试可执行文件中(参见 Running Test Programs: Advanced Options)

例如,在您的情况下,您可以:

int main(int argc, char **argv) {
::testing::GTEST_FLAG(filter) = "simpleTest.test1";
::testing::InitGoogleTest(&argc, argv);
RUN_ALL_TESTS();
}

但是,像这样的硬编码测试过滤器通常是不可取的,因为每次您想要更改过滤器时都需要重新编译。

就通过 Visual Studio 在运行时传递标志而言,我想您知道您可以将 --gtest_filter=simpleTest.test1 添加到“调试”选项中的命令参数目标的属性页?

关于c++ - 如何在 visual studio 中运行单个 google 测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19798879/

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