笔记
安装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
第二步安装tcl、tk
安装包见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
-
在已有的工程demo下创建一个单元测试目录$
-
创建${unit_test}/gtest.cc
#include "gtest/gtest.h"
int main(int argc, char **argv) {
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
- 创建${unit_test}/test1.cc
#include <gtest/gtest.h>
TEST(FooTest, Test1) {
EXPECT_EQ(1, 1);
EXPECT_TRUE(3 > 0);
}
- 创建${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)
- 编译运行
编译
mkdir build
cd build
cmake ../unittest/
make
运行
./bin/runUnitTests

浙公网安备 33010602011771号