软件工程(2019)第二次作业
软件工程(2019)第二次作业
(1)选择开发工具Visual Studio 2017
由于之前并没有接触过Java语言(感觉自己好low),所以只能选择Visual Studio 2017作为工具开发。并且在之前学习C++语言时已经安装过Visual Studio 2017,所以截取软件运行界面如下图:
(2)单元测试练习
1. 建立一个新工程
2. 源文件、头文件、单元测试代码(一个超简单的程序)
- 源文件
#include<stdio.h>
#include<iostream>
using namespace std;
int MAX(int x, int y)
{
int z;
if (x >= y)
z = x;
else
z = y;
return z;
}
int MIN(int x, int y)
{
int z;
if (x >= y)
z = y;
else
z = x;
return z;
}
int main()
{
int a, b;
int max, min;
cin >> a >> b;
max = MAX(a, b);
min = MIN(a, b);
cout << max << " " << min;
system("pause");
return 0;
}
- 头文件
#pragma once
int MAX(int x, int y)
{
int z;
if (x >= y)
z = x;
else
z = y;
return z;
}
int MIN(int x, int y)
{
int z;
if (x >= y)
z = y;
else
z = x;
return z;
}
- 单元测试
在新建的测试项目里,先右键单击解决方案,可以添加一个新建项目,在类型里选择【单元测试】,新建了一个名为 UnitTest2的单元测试项目。
点击本机单元测试项目之后出现下图
在项目创建成功后,为单元测试项目UnitTest 2增加对原项目的引用,以实现调用原项目函数接口的功能。UnitTest2 -> 右击引用 -> 添加引用 -> 勾选被测项目
下面就是写出的单元测试代码,注意,一定要将自己写的头文件写进去。 测试中主要使用了 Assert::AreEqual(确定是否两个数相等的操作) 来进行执行预期的判断操作。
#include "stdafx.h"
#include "CppUnitTest.h"
#include"../Project1/test1.h"
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
namespace UnitTest2
{
TEST_CLASS(UnitTest1)
{
public:
TEST_METHOD(TestMethod1)//最大值测试
{
// TODO: 在此输入测试代码
int x, y;
x = 9;
y = 5;
Assert::AreEqual(9, MAX(x, y));
}
TEST_METHOD(TestMethod2)//最小值测试
{
// TODO: 在此输入测试代码
int x, y;
x = 9;
y = 5;
Assert::AreEqual(5, MIN(x, y));
}
};
}
3. 测试
- 测试时找到菜单栏里的“测试”,运行所有测试,结果如图所示:
- 单元测试运行完毕后,运行结果弹出,结果如图所示:
4. 最后