Google 测试看不到自定义标志



为什么当我输入

时google测试不设置我的标志?
--gtest_email="example@gmail.com" --gtest_passwd="passwd"

这是我的代码

#include <gtest/gtest.h>
#include <iostream>
GTEST_DEFINE_string_(email, "example@gmail.com", "Login to authorize to the server");
GTEST_DEFINE_string_(passwd, "passwd", "Password to authorize to the server");
class A: public ::testing::Test {
protected:
void SetUp() override {
email = ::testing::FLAGS_gtest_email;
passwd = ::testing::FLAGS_gtest_passwd;
}
};
Test_F(A, B) { std::cout << email + " " + passwd << std::endl; }
int main(int argc, char** argv) {
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}

或者是否有其他方法解析命令行参数?

除了已知的前缀为--gtest_的标志外,所有其他标志都被GoogleTest引擎视为无法识别的,并且不传递给用户代码。使用没有该前缀的任何其他名称。不要使用GoogleTest私有宏GTEST_DEFINE_string_,所有以_为后缀的宏

相关内容

  • 没有找到相关文章

最新更新