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

一. 选择开发工具

此次测试选用Microsoft Visual Studio 2017当做开发工具,下面是安装后的截图。

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

1.打开VS2017新建一个项目,分别建立test.h和solution.cpp文件。
编写solution.cpp源程序,这里我编写的是求斐波那契数列前n项和的函数,如下所示:

#include <iostream>
#include "test.h"

using namespace std;

int Solution::fib(int num)
{
	if (num <= 2) return 1;
	return fib(num - 1) + fib(num - 2);
}

int main()
{
	return 0;
}

头文件test.h代码如下:

class Solution {
public:
	int fib(int num);
};

2.确定代码无误后,右键点击“解决方案”->"添加"->“新建项目”,如下图所示:


选择“本机单元测试项目”,如下图:


在左侧的状态栏出现了单元测试的项目“UnitTest1”,添加引用,如下图所示:


右键属性选择“链接器”->“输入”->“选择依赖项”,填写路径如下:


3.在unittest.cpp中编写单元测试用例代码,如下所示:

#include "stdafx.h"
#include "CppUnitTest.h"
#include "../单元测试/test.h"

using namespace Microsoft::VisualStudio::CppUnitTestFramework;

namespace UnitTest1
{		
	TEST_CLASS(UnitTest1) {
		public:
		TEST_METHOD(Test1) {
			Solution t;
			Assert::AreEqual(1,t.fib(1));
		}
		TEST_METHOD(Test2) {
			Solution t;
			Assert::AreEqual(13, t.fib(7));
		}
	};
}

最后运行测试例子:


测试结果如下图所示,可以发现通过了测试用例。

三.总结

通过本次单元测试,让我认识到了测试的重要性。单元测试是可以有效地测试某个程序模块的行为,是对于之后的重构代码的重要保证。

posted @ 2019-04-12 14:57  Aky什么都不会  阅读(256)  评论(0编辑  收藏  举报