作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在使用 Linux 机器。我已经从 here 下载了 googletest 包
但是,没有安装指南或其他有关如何正确设置的博客README文件不好,看不懂在说什么?
谁能提供一个简单的示例,说明如何使用该 gtest 包测试 .cc 文件中的简单函数?
最佳答案
这是我所做的,您可以根据需要进行调整。我在我的 Linux 机器上将 gtest-1.6.0.zip(来自 releases 页面)下载到 ~/Downloads 中,完全输入的是/home/me/Downloads/
将gtest-1.6.0.zip的内容解压到~/Downloads/gtest-1.6.0/
cd /home/me/Downloads
unzip gtest-1.6.0.zip
构建 gtest 库,因为您需要将其“包含”在您的测试可执行文件中。编译目标文件gtest-all.o:
g++ -Igtest-1.6.0/include -Igtest-1.6.0 -c gtest-1.6.0/src/gtest-all.cc
然后构建库归档 libgtest.a:
ar -rv libgtest.a gtest-all.o
现在您可以在 ~/Downloads 中创建 test.cc 文件。这是我用来确保它编译的示例测试文件。
#include "gtest/gtest.h"
TEST(blahTest, blah1) {
EXPECT_EQ(1, 1);
}
int main (int argc, char** argv) {
::testing::InitGoogleTest(&argc, argv);
int returnValue;
//Do whatever setup here you will need for your tests here
//
//
returnValue = RUN_ALL_TESTS();
//Do Your teardown here if required
//
//
return returnValue;
}
编译您自己的测试并运行它:
g++ -I/home/me/Downloads/gtest-1.6.0/include -pthread test.cc libgtest.a -o test_executable
然后执行它:
./test_executable
它应该运行良好。从那里根据需要进行修改。
关于c++ - 如何在 2012 年在 Linux 上设置 googletest?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8739495/
我是一名优秀的程序员,十分优秀!