软件工程(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  阅读(167)  评论(0编辑  收藏  举报