c++ - eclipseCDT中如何让 “gtest” 的测试函数不在主程序的main()中执行
天蓬老师
天蓬老师 2017-04-17 11:41:10
[C++讨论组]

gtest的调用,我找到的方式都是这样的:

int main(mai nint argc, char **argv) {
  printf("Running main() from gtest_main.cc\n");
  testing::InitGoogleTest(&argc, argv);
  return RUN_ALL_TESTS();
}

需要在main中执行一个RUN_ALL_TESTS()
但原来的主程序也有个main()入口函数,编译没法通过。
所以怎么让gtest的测试不要和main有牵连?
(因为能想到的一个办法就是在,原程序的main 中调用)

然后我做了一些努力:
想到的法一: 新建一个Test项目专门用来测试,编译选项引用原项目的头文件. 但是编译通不过,报”undefined reference to function“ 应该是因为Test项目的程序找不到“原程序”的函数实现。

法二:
多个main函数并存,这个找到了个帖子自己写makefile文件,区分编译。但是这样用也不方便啊。

求个能够在eclipse里右键,run unit test 这种的方法。


补充一:
法一行的通了,就是需要在test的程序里写上

#include "xx.cc"

这样奇怪的语句。另外需要在cdt里添加另一个工程的引用,我想应该直接在compile path里面加上那个cc文件的位置也能行,应该是同一个意思吧。

但是有更好的么?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号