软件工程(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.单元测试结果

保存项目后,运行所有测试,四个测试全部通过,如图所示:

三.总结

通过此次对加减乘除运算的简单测试,我熟悉了单元测试的基本流程,学到了知识。

posted @ 2019-04-13 09:09  zhangyudie  阅读(182)  评论(0)    收藏  举报