软件工程(2019)第二次作业
一. 选择开发工具
由于平时编写代码用的是c/c++语言,电脑上已经安装了Visual Studio 2017,所以我选择其作为我的开发工具。Visual Studio 2017运行后的截图如下:
二. 练习自动单元测试技术
1.创建新项目
打开Visual Studio 2017后,创建一个空项目,名为project1。
2.编写需要被测试的代码
右键project1中源文件,选择添加新建项,添加需要被测试的代码,我编写的是进行加减乘除运算的代码。
#include<stdio.h>
int add(int a, int b)
{
return a + b;
}
int subtract(int a, int b)
{
return a - b;
}
int multiply(int a, int b)
{
return a * b;
}
int divide(int a, int b)
{
return a / b;
}
int main()
{}
如图所示:
3.编写头文件
右键头文件添加新建项,选择头文件,命名为head.h。
#pragma once
int add(int a, int b)
{
return a + b;
}
int subtract(int a, int b)
{
return a - b;
}
int multiply(int a, int b)
{
return a * b;
}
int divide(int a, int b)
{
return a / b;
}
如图所示:
4.编写单元测试
右击解决方案,添加新项目,选择测试,本机单元测试项目
添加引用,选择project1
在unittest1.cpp中添加测试代码
#include "stdafx.h"
#include "CppUnitTest.h"
#include "../Project1/head.h"
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
namespace UnitTest1
{
TEST_CLASS(UnitTest1)
{
public:
//加法测试
TEST_METHOD(TestMethod1)
{
int x = 4, y = 2;
Assert::AreEqual(add(x, y), 6);
}
//减法测试
TEST_METHOD(TestMethod2)
{
int x = 4, y = 2;
Assert::AreEqual(subtract(x, y), 2);
}
//乘法测试
TEST_METHOD(TestMethod3)
{
int x = 4, y = 2;
Assert::AreEqual(multiply(x, y), 8);
}
//除法测试
TEST_METHOD(TestMethod4)
{
int x = 4, y = 2;
Assert::AreEqual(divide(x, y), 2);
}
};
};
如图所示:
5.单元测试结果
保存项目后,运行所有测试,四个测试全部通过,如图所示:
三.总结
通过此次对加减乘除运算的简单测试,我熟悉了单元测试的基本流程,学到了知识。