首页 > eclipseCDT中如何让 “gtest” 的测试函数不在主程序的main()中执行

eclipseCDT中如何让 “gtest” 的测试函数不在主程序的main()中执行

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文件的位置也能行,应该是同一个意思吧。

但是有更好的么?

【热门文章】
【热门文章】