【软件测试】googleTest Clion win/ubuntu/mac cygwin测试环境搭建

googleTest Clion win/ubuntu cygwin测试环境搭建

软件

安装clion

官网下载

windows安装cygwin

修改源为清华源:https://mirrors.tuna.tsinghua.edu.cn/help/cygwin/

Cygwin 镜像使用帮助
从 https://cygwin.com 上下载 setup-x86.exe 或 setup-x86_64.exe。
选择Install from Internet, 在”User URL”处输入以下地址:
https://mirrors.tuna.tsinghua.edu.cn/cygwin/
点击”Add”按钮, 然后选中”https://mirrors.tuna.tsinghua.edu.cn”, 点击”下一步”进行安装。
注意,该列表为可多选列表,注意把上面不需要的镜像点掉。

安装过程中选择 gcc-core、gcc-g++、cmake、make、gdb、binutils,以上所有项目都在 devel 文件夹下。
如果漏选就重新安装,安装是增量的形式,不会改变原来的安装包。

ubuntu

sudo apt-get install build-essential

mac

mac 应该都用,就不装了

安装GoogleTest

下载googleTest源码编译并安装到/usr/local中

git clone https://github.com/google/googletest.git

依次执行命令

cd googletest
mkdir build
cd build
cmake ..
make
make install

修改CMakeLists.txt文件

参考官方指南

win10/ubuntu:

cmake_minimum_required(VERSION 3.15)
project(main)
set(CMAKE_CXX_STANDARD 14)

link_directories(/usr/local/lib)
include_directories(/usr/local/include)

find_package(Threads REQUIRED)
set(LIBRARIES
        gtest
        gtest_main
        pthread)

add_executable(${PROJECT_NAME}
        main.cpp)
target_link_libraries(${PROJECT_NAME} ${LIBRARIES})

DivideAndConquer是自己建的文件夹。
新建一个测试用例: partitionGet.cpp

//
// Created by arron on 2019/4/22.
// 分治法寻找最大值和最小值
//
#include <iostream>
#include <gtest/gtest.h>

void partitionGet(int start, int end, const int *meter, int *max, int *min);


TEST(partitionGet, partitionGet) {
    int array[10] = {1, -2, 422, 23, 4, 1, 4, 5, 234, 0};
    int max = 0;
    int min = 0;
    partitionGet(0, 9, array, &max, &min);
    std::cout<<std::endl<<"max:"<<max<<std::endl;
    std::cout<<"min:"<<min<<std::endl;
    EXPECT_EQ(max,422);
    EXPECT_EQ(min,-2);
}

void partitionGet(int start, int end, const int *meter, int *max, int *min) {
    int i;
    int localMax = 0;
    int localMin = 0;
    if (end - start <= 1) {
        if (meter[start] > meter[end]) {
            localMax = meter[start];
            localMin = meter[end];
        } else {
            localMin = meter[start];
            localMax = meter[end];
        }
        if (localMax > *max) {
            *max = localMax;
        }
        if (localMin < *min) {
            *min = localMin;
        }
        return;
    }
    i = start + (end - start) / 2;
    partitionGet(start, i, meter, max, min);
    partitionGet(i + 1, end, meter, max, min);
}

运行结果如图:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值