软件工程(2019)第二次作业

本文介绍使用VisualStudio2017进行单元测试的过程,包括选择开发工具、建立新工程、编写源代码和头文件,以及实施单元测试代码。通过测试最大值和最小值函数,展示了如何使用Assert::AreEqual进行预期结果的验证。

软件工程(2019)第二次作业



(1)选择开发工具Visual Studio 2017

  由于之前并没有接触过Java语言(感觉自己好low),所以只能选择Visual Studio 2017作为工具开发。并且在之前学习C++语言时已经安装过Visual Studio 2017,所以截取软件运行界面如下图:

1645406-20190412180219981-1483753678.png

图1.1

(2)单元测试练习

1. 建立一个新工程

1645406-20190412182440162-896063341.png

图1.2

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的单元测试项目。

1645406-20190412191607650-513484633.png

图1.3

  点击本机单元测试项目之后出现下图

1645406-20190412192458752-1894943721.png

图1.4

  在项目创建成功后,为单元测试项目UnitTest 2增加对原项目的引用,以实现调用原项目函数接口的功能。UnitTest2 -> 右击引用 -> 添加引用 -> 勾选被测项目

1645406-20190412192546522-808518093.png

图1.5

  下面就是写出的单元测试代码,注意,一定要将自己写的头文件写进去。 测试中主要使用了 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. 测试

  • 测试时找到菜单栏里的“测试”,运行所有测试,结果如图所示:

1645406-20190412190644925-241447629.png

图1.6
  • 单元测试运行完毕后,运行结果弹出,结果如图所示:

1645406-20190412185635330-273144357.png

图1.7

4. 最后

  最后非常感谢写这两篇文章的作者,文章1,文章2,为我练习这次单元测试提供了很大的帮助。

转载于:https://www.cnblogs.com/wnscwt/p/10696155.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值