-1

我正在尝试熟悉 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();
}

但是我得到了大约一百万个错误。你能帮我解决这个问题吗?

4

1 回答 1

1

至少,

#include "iostream"

应该

#include <iostream>

当您运行 Google 测试时,您需要确保 gtest 库已正确链接。引用谷歌测试文档

设置新的测试项目

要使用 Google Test 编写测试程序,您需要将 Google Test 编译成一个库并将您的测试与它链接起来。我们为一些流行的构建系统提供构建文件:msvc/ 用于 Visual Studio,xcode/ 用于 Mac Xcode,make/ 用于 GNU make,codegear/ 用于 Borland C++ Builder,以及 autotools 脚本(已弃用)和 CMakeLists.txt 用于 CMake(推荐) 在 Google 测试根目录中。如果您的构建系统不在此列表中,您可以查看 make/Makefile 以了解如何编译 Google Test(基本上您希望在头搜索中使用 GTEST_ROOT 和 GTEST_ROOT/include 编译 src/gtest-all.cc路径,其中 GTEST_ROOT 是 Google 测试根目录)。

一旦您能够编译 Google 测试库,您应该为您的测试程序创建一个项目或构建目标。确保头文件搜索路径中有 GTEST_ROOT/include,以便编译器在编译测试时可以找到“gtest/gtest.h”。将您的测试项目设置为与 Google 测试库链接(例如,在 Visual Studio 中,这是通过添加对 gtest.vcproj 的依赖项来完成的)。

于 2013-04-24T19:43:38.727 回答