作业2
一、选择开发工具
我常用的语言为C与C++,所以选择VS2017。因为我电脑里只安装了VS2017。以下是VS2017的编译环境的应用界面。
二、练习自动单元测试技术
单元测试练习,代码如下:
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、建一个新项目
首先我们新建一个项目,如图:
按照图中选择"Visual C++"-->"测试"-->"本机单元测试项目"完成创建测试项目。
2、添加引用
在测试项目的引用中,建立依赖关系,如图:
按照图中点击"引用"-->"添加引用"-->"项目"选择被测项目。
3、编写测试程序
点击测试项目中源文件里的unittest1.cpp文件
如图:
测试函数如下:
#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)对于一般函数,点击测试一栏中的运行选项,点击所有测试即可。
测试结果如图所示:

更多精彩