一、选择开发工具

我常用的语言为CC++,所以选择VS2017。因为我电脑里只安装了VS2017。以下是VS2017的编译环境的应用界面。
作业2 随笔 第1张

二、练习自动单元测试技术

单元测试练习,代码如下:

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
#include<stdio.h>
#include<stdlib.h>
int otto(int n)
{
    int n,s=0,i=1;
    scanf("%d",&n);
    do
    {
        s=s+i*(i+1);
        i=i+2;
    }
    while(i<(n+2));
    return s;
}

这是一段1x2+3x4+...+n*(n+1)其中n为正奇数的求和代码。接下我将以它为例详细操作一下。
单元测试分为以下四步。

1、建一个新项目

首先我们新建一个项目,如图:
作业2 随笔 第2张
按照图中选择"Visual C++"-->"测试"-->"本机单元测试项目"完成创建测试项目。
作业2 随笔 第3张

2、添加引用

在测试项目的引用中,建立依赖关系,如图:
作业2 随笔 第4张
按照图中点击"引用"-->"添加引用"-->"项目"选择被测项目。

3、编写测试程序

点击测试项目中源文件里的unittest1.cpp文件
如图:
作业2 随笔 第5张
测试函数如下:

#include "stdafx.h"
#include "CppUnitTest.h"
#include "../lixiaop/test.h"
using namespace Microsoft::VisualStudio::CppUnitTestFramework;

namespace UnitTest1
{       
    TEST_CLASS(UnitTest1)
    {
    public:
        
        TEST_METHOD(TestMethod1)
        {
            Assert::AreEqual(otto(3), 14);// TODO: 在此输入测试代码
        }

    };
}



对于被测项目你需要建立一个头文件用于存放被测试函数,在测试文件中需要应用这个头文件。
头文件内容如下:

#pragma once
int otto(int n)
{
    int s = 0, i = 1;
    do
    {
        s = s + i * (i + 1);
        i = i + 2;
    } while (i < (n + 2));
    return s;
}


4、运行测试

(1)对于一般函数,点击测试一栏中的运行选项,点击所有测试即可。
测试结果如图所示:
作业2 随笔 第6张

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄