为什么当我输入
时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_
,所有以_
为后缀的宏