zoukankan      html  css  js  c++  java
  • 软件工程(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));
    		}
    	};
    }
    

    最后运行测试例子:


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

    三.总结

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

  • 相关阅读:
    POJ
    POJ
    POJ1753 Flip Game(位运算+暴力枚举)
    20160326 javaweb 请求转发和请求包含
    将博客搬至CSDN
    javaweb 中的乱码问题
    20160324 javaweb 之request
    20160322 javaweb 学习笔记--response验证码实现
    20160322 javaweb 学习笔记--response 重定向
    深入分析 Java 中的中文编码问题 (文章来自网络)
  • 原文地址:https://www.cnblogs.com/CodeAky/p/10696101.html
Copyright © 2011-2022 走看看