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文件的位置也能行,应该是同一个意思吧。
但是有更好的么?
要致富靠技术
11 years, 1 month ago