Google 测试未看到自定义标志

huangapple go评论65阅读模式
英文:

Google test don't see custom flags

问题

Here is the translated code part without the code:

为什么 Google 测试在我输入以下内容时不设置我的标志:

--gtest_email="example@gmail.com" --gtest_passwd="passwd"

以下是我的代码:

#include <gtest/gtest.h>
#include <iostream>
GTEST_DEFINE_string_(email, "example@gmail.com", "登录以授权服务器");
GTEST_DEFINE_string_(passwd, "passwd", "授权服务器的密码");

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();
}

请注意,这段代码是 C++ 代码,用于 Google 测试框架。它似乎尝试使用 --gtest_email--gtest_passwd 命令行参数来设置 emailpasswd 变量,但您的问题可能是这些参数没有正确设置,或者代码中可能存在其他问题。需要进一步检查和调试以解决问题。如果您需要有关解决问题的指导,请提出具体问题,我将尽力提供帮助。

英文:

Why google test don't set my flag when I type

--gtest_email=&quot;example@gmail.com&quot; --gtest_passwd=&quot;passwd&quot;

and here is my code

#include &lt;gtest/gtest.h&gt;
#include &lt;iostream&gt;
GTEST_DEFINE_string_(email, &quot;example@gmail.com&quot;, &quot;Login to authorize to the server&quot;);
GTEST_DEFINE_string_(passwd, &quot;passwd&quot;, &quot;Password to authorize to the server&quot;);

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 &lt;&lt; email + &quot; &quot; + passwd &lt;&lt; std::endl; }

int main(int argc, char** argv) {
    ::testing::InitGoogleTest(&amp;argc, argv);
    return RUN_ALL_TESTS();
}

Or is there another way to parse command line arguments?

答案1

得分: 2

除了以前缀“--gtest_”标识的已知标志外,GoogleTest引擎将不会识别和不会传递给用户代码的标志。请使用没有该前缀的任何其他名称。不要使用GoogleTest的私有宏“GTEST_DEFINE_string_”,也不要使用带有后缀“_”的所有宏。

英文:

All other than the known flags with the prefix --gtest_ are eaten as unrecognized by GoogleTest engine and are not passed to an user code. Use any other names w/o that prefix. Don't use GoogleTest private macro GTEST_DEFINE_string_, all macros with the suffix _.

huangapple
  • 本文由 发表于 2023年3月31日 22:58:27
  • 转载请务必保留本文链接:https://go.coder-hub.com/75899983.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定