吴汶潞

导航

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

一、 选择开发工具

我准备使用C++语言开发,而且我的电脑已经安装了Visual Studio 2017的开发工具,开发工具运行后的截图如图所示:


二、 练习自动单元测试技术

1.建立需测试的项目

  • 新建项目

  • 正常书写头文件.h和.cpp文件,根据示例中的加减乘除代码:
    编写1.cpp文件:
#include<stdio.h>
int add(int a, int b)//加
{
    return a + b;
}
int substract(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()
{
}

代码如图所示:

*编写1.h文件:* ``` #pragma once int add(int a, int b); int substract(int a, int b); int multiply(int a, int b); int divide(int a, int b); int main(); ``` **代码如图所示:**

然后生成解决方案,生成成功后进行下一步。


2.新建单元测试

  • 右击解决方案→添加→新建项目→Visual Studio 2017→测试→本机单元测试项目

  • UnitTest1→右击引用→添加引用→勾选被测项

3.编写测试代码

  • 修改unittest1.cpp,测试单元核心代码:
	TEST_CLASS(UnitTest1)
	{
	public:
		
		TEST_METHOD(TestMethod1)  //加
		{
			int a = 20, b = 4;
			Assert::AreEqual(add(a, b), 24);
		}
		TEST_METHOD(TestMethod2)   //减
		{
			int a = 20, b = 4;
			Assert::AreEqual(substract(a, b), 16);
		}
		TEST_METHOD(TestMethod3)    //乘
		{
			int a = 20, b = 4;
			Assert::AreEqual(multiply(a, b), 80);
		}
		TEST_METHOD(TestMethod4)   //除
		{
			int a = 20, b = 4;
			Assert::AreEqual(divide(a, b), 5);
		}

	};

代码如图所示:


4.附加依赖项

  • 右击UnitTest1→属性→链接器→输入→附加依赖项→编辑

5.运行测试

  • 测试→运行→所有测试

如图,测试全部都通过。


三、总结

通过本次作业,我掌握了在Visual Studio 2017中建立单元测试的方法。在完成过程中,我认为最重要的三点:1.代码一定要编写正确,不要漏掉头文件。2.一定要记得添加添加引用,勾选被测试项。3.是附加依赖项,这一步极其重要,关系到测试能否成功。没有附加依赖项之前,测试代码会出现“无法解析的外部符号...”等错误。而且添加的时候要注意依赖项为被测试类的.obj。同时,在完成作业时我体会到,我们一定要有耐心,遇到错误不能烦躁不能放弃,要学会去解决错误。

posted on 2019-04-13 15:18  吴汶潞  阅读(174)  评论(0编辑  收藏  举报