笔记

安装python依赖

yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

CentOS 安装模块提示找不到Python.h文件?

原因是python环境不完整,执行下面的命令后,再次执行之前的安装操作就可以了。

64位系统 yum install python-devel.x86_64

32位系统 yum install python-devel.i686

Centos 命令行打开文件夹 :

 gnome-open  .   // 打开当前目录 

Python包安装

python2 -m pip install --user django   // python2安装模块
python3 -m pip install --user django  // python3安装模块
pip3 install --user django  // python3安装模块

Centos7系统Python3.5 "No module named _tkinter"问题解决记录

第一步更新yum

yum -y upgrade
yum install python3-tkinter
yum -y install tcl-devel tk-dev

第二步安装tcltk

安装包见FTP文件夹

通过命令 rpm -qa|grep tcl rpm -qa|grep tk 查看是否安装成功

第三步 重新编译python3.5

find / -name python3.5  //  找到源码位置
./configure
make
make install

Linux安装googletest-release-1.7.0

安装包见FTP文件夹

cd googletest-release-1.7.0/
cmake -DBUILD_SHARED_LIBS=ON .
make
sudo cp -a include/gtest /usr/include  // 将编译的静态文件链接,下同
sudo cp -a libgtest_main.so libgtest.so /usr/lib/
sudo ldconfig -v | grep gtest   // 查询是否链接成功

如果看到输出

	libgtest_main.so -> libgtest_main.so
	libgtest.so -> libgtest.so

则表明安装成功。

gtest介绍

断言:即assertion,检查条件是否为真,一个断言的结果有

  • sucess
  • nonfatal failure(非致命失败)
  • fatal failure(致命失败)

nonfatal failure会指出错误,然后继续运行,由EXPECT_XX产生

fatal failure会指出错误但是终止当前测试函数,由ASSERT_XX产生

一般推荐用前者,这样一次可以查出多个问题

测试样例:test case表示要测试的对象,一般TEST会有两个参数,分别是测试用例,以及测试的子case。

TEST(name1, name2)
{
	EXPECT_EQ(value1, value2);
}

这是要执行的测试用例,后面是执行内容

name1:测试用例名称

name2:测试的子case

这两个参数都只起到提示作用(可以随意命名,根据自己的意思),我们也可以这么使用

name1:类名

name2:方法名

或者

name1:文件名

name2:函数名

EXPECT_EQ(value1, value2);

用例执行成功时,期望value1和value2是相等的,相等才算通过测试。

测试命令: g++ unittest.cc -lgtest -lpthread -std=c++11 // unittest.cc代表测试用例文件

四、结合cmake使用gtest

只需要在CMakeListst.txt文件中添加 target_link_libraries(runUnitTests gtest pthread) // 链接gtest库文件

具体步骤如下:
文件结构为
get_cmake_test
├── build
└── unittest
├── CMakeLists.txt
├── gtest.cc
└── test1.cc

  1. 在已有的工程demo下创建一个单元测试目录$

  2. 创建${unit_test}/gtest.cc

#include "gtest/gtest.h"

int main(int argc, char **argv) {
    testing::InitGoogleTest(&argc, argv);
    return RUN_ALL_TESTS();
}
  1. 创建${unit_test}/test1.cc
#include <gtest/gtest.h>

TEST(FooTest, Test1) {
    EXPECT_EQ(1, 1);
    EXPECT_TRUE(3 > 0);
}
  1. 创建${unit_test}/CMakeLists.txt
cmake_minimum_required(VERSION 3.0)

project(get_cmake_test)
set(EXECUTABLE_OUTPUT_PATH ../build/bin)

include_directories(../include)

add_executable(UnitTests gtest.cpp  test1.cpp)

target_link_libraries(runUnitTests  gtest   pthread)
  1. 编译运行

编译

mkdir build
cd build
cmake ../unittest/
make

运行
./bin/runUnitTests

posted @ 2019-09-23 08:26  kolane  阅读(125)  评论(0)    收藏  举报