我正在尝试熟悉gtest,所以我想测试一个这样的函数:
int fun(int x=6){
return x;
}
我正在编写这样的代码:
#include "gtest/gtest.h"
#include "iostream"
int fun(int x=6){
return x;
}
TEST(FunTest, defaultTest) {
EXPECT_EQ(6, fun());
}
int main(int argc, char **argv) {
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
但是我得到了大约一百万个错误。你能帮我解决这个问题吗?
答案 0 :(得分:1)
至少,
#include "iostream"
应该是
#include <iostream>
当您运行Google测试时,您需要确保gtest lib正确链接。 引自Google test documentation
建立新的测试项目
要使用Google Test编写测试程序,您需要将Google Test编译到库中并将测试与其链接。我们为一些流行的构建系统提供构建文件:msvc / for Visual Studio,xcode / for Mac Xcode,make / for GNU make,codegear / for Borland C ++ Builder,autotools脚本(不建议使用)和CMakeLists.txt for CMake(推荐) )在Google Test根目录中。如果您的构建系统不在此列表中,您可以查看make / Makefile以了解如何编译Google Test(基本上您要在头文件搜索中使用GTEST_ROOT和GTEST_ROOT / include编译src / gtest-all.cc路径,其中GTEST_ROOT是Google Test根目录。)
一旦您能够编译Google Test库,您就应该为测试程序创建项目或构建目标。确保在头搜索路径中包含GTEST_ROOT / include,以便编译器在编译测试时可以找到“gtest / gtest.h”。设置您的测试项目以链接到Google Test库(例如,在Visual Studio中,这是通过添加对gtest.vcproj的依赖来完成的。)