首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何安装googletest?

如何安装googletest?
EN

Ask Ubuntu用户
提问于 2012-01-22 17:26:14
回答 2查看 25.5K关注 0票数 11

我使用muon搜索googletests,但是看起来ubuntu没有用于它的包。我需要使用源代码安装吗?

EN

回答 2

Ask Ubuntu用户

回答已采纳

发布于 2012-01-22 17:59:35

新资料:

值得注意的是,libgtest0已不复存在。截至2013年左右(我不确定更改日期),见以下问题:

为什么没有安装用于google测试的库文件?

2012年以前的旧答案:

它在Ubuntu存储库中。

代码语言:javascript
复制
sudo apt-get install libgtest0 libgtest-dev

另见man gtest-config

票数 14
EN

Ask Ubuntu用户

发布于 2020-11-25 13:37:43

最小可运行示例

由于Debian/Ubuntu拒绝打包预构建(如:为什么没有安装用于google测试的库文件?中提到的那样),我将自己克隆并构建它(或者在实际项目中,将其添加为子模块):

代码语言:javascript
复制
git clone https://github.com/google/googletest
cd googletest
git checkout b1fbd33c06cdb0024c67733c6fdec2009d17b384
mkdir build
cd build
cmake ..
make -j`nproc`
cd ../..

然后,我将它与测试文件main.cpp一起使用:

代码语言:javascript
复制
g++ \
  -Wall \
  -Werror \
  -Wextra \
  -pedantic \
  -O0 \
  -I googletest/googletest/include \
  -std=c++11 \
  -o main.out \
  main.cpp \
  googletest/build/lib/libgtest.a \
  -lpthread \
;

main.cpp

代码语言:javascript
复制
#include <gtest/gtest.h>

int myfunc(int n) {
    return n + 1;
}

TEST(asdfTest, HandlesPositiveInput) {
    EXPECT_EQ(myfunc(1), 2);
    EXPECT_EQ(myfunc(2), 3);
}

int main(int argc, char **argv) {
    ::testing::InitGoogleTest(&argc, argv);
    return RUN_ALL_TESTS();
}

要获得预期的输出:

代码语言:javascript
复制
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from asdfTest
[ RUN      ] asdfTest.HandlesPositiveInput
[       OK ] asdfTest.HandlesPositiveInput (0 ms)
[----------] 1 test from asdfTest (0 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (0 ms total)
[  PASSED  ] 1 test.

或者,您也可以从main文件中移除main.cpp函数,取而代之的是使用由libgtest_main.a

代码语言:javascript
复制
g++ \
  -Wall \
  -Werror \
  -Wextra \
  -pedantic \
  -O0 \
  -I googletest/googletest/include \
  -std=c++11 \
  -o main.out \
  main.cpp \
  googletest/build/lib/libgtest.a \
  googletest/build/lib/libgtest_main.a \
  -lpthread \
;

在Ubuntu 20.04上测试。

票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/97626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档