【发布时间】:2016-01-12 12:23:02
【问题描述】:
我在exe中有这样的代码
int main(int argc, char** argv){
if(argc>1)
{
//do something
}
else
{
StartGoogleTest(argc ,argv);
}
}
StartGoogleTest 在共享库中。我必须传递命令行参数来启动或初始化谷歌测试框架。
以下是StartGoodleTest.cpp:
TEST(SomeClass, myTest)
{
//some code
}
StartGoodleTest(int &argc, char** &argv)
{
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
此代码在InitGoogleTest 崩溃。有没有什么方法可以在没有命令行参数的情况下初始化 google 测试,或者有任何其他方法可以在没有 main 的情况下初始化 google 测试?
【问题讨论】:
-
问题(崩溃)显然在未显示的代码中。
-
好的,但是有什么方法可以在没有 main 且不发送命令行参数的情况下启动 google 测试
-
问题是你调用 StartGoogleTest 并且有一个名为 StartGoodleTest 的函数吗?
-
你能提供一个堆栈跟踪吗?
-
@LawfulEvil 问题在 StartGoogleTest 问题在 testing::InitGoogleTest(&argc, argv);
标签: c++ dll shared-libraries googletest