zoukankan      html  css  js  c++  java
  • 软件工程第二次作业-单元测试

    1.选择开发工具
      Visual Studio (简称VS)是微软公司旗下最重要的软件集成开发工具产品。是目前最流行的 Windows 平台应用程序开发环境,也是无数人学习编程的入门软件之一。Visual Studio 可以用来创建 Windows 平台下的 Windows 应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和 Office 插件,目前还可开发安卓平台应用及IOS平台应用。
      我比较熟悉c/c++语言,所以采用vs作为开发环境,软件界面如下图:

    2.练习自动单元测试

    • 建立需要测试的项目##


    • 写一个源文件##

    //.cpp 
    #include<stdio.h>
    int getadd(int a, int b)
    {
    	return a + b;
    }
    int getsub(int a, int b)
    {
    	return a - b;
    }
    int getmul(int a, int b)
    {
    	return a * b;
    }
    int getdiv(int a, int b)
    {
    	return a / b;
    }
    int main()
    {
    	int a;
    	int b;
    	scanf_s("%d%b", &a, &b);
    	printf("%d", getadd(a, b));
    	return 0;
    }
    

    • 写头文件##

    //头文件
    #pragma once
    int getadd(int a, int b)
    {
    	return a + b;
    }
    int getsub(int a, int b)
    {
    	return a - b;
    }
    int getmul(int a, int b)
    {
    	return a * b;
    }
    int getdiv(int a, int b)
    {
    	return a / b;
    }
    

    • 编写单元测试

      • 右击解决方案 -> 添加 -> 新建项目###

        Visual C++ -> 测试 -> 本机单元测试项目###


    + ###点击【确定】后出现以下界面###

    • 添加【引用】##

      • UnitTest1 -> 右击引用 -> 添加引用 -> 勾选被测项目###

    • 编写测试代码##

      • 修改unittest1.cpp文件###

    #include "stdafx.h"
    #include "CppUnitTest.h"
    #include "../Project1/test.h"
    using namespace Microsoft::VisualStudio::CppUnitTestFramework;
    
    namespace UnitTest1
    {		
    	TEST_CLASS(UnitTest1)
    	{
    	public:
    		
    		TEST_METHOD(TestMethod1)  //加法测试
    		{
    			// TODO: 在此输入测试代码
    			int x = 6, y = 3;
    			Assert::AreEqual(getadd(x, y), 9);
    		}
    		TEST_METHOD(TestMethod2)   //除法测试
    		{
    			// TODO: 在此输入测试代码
    			int x = 6, y = 3;
    			Assert::AreEqual(getdiv(x, y), 2);
    		}
    		TEST_METHOD(TestMethod3)   //减法测试
    		{
    			// TODO: 在此输入测试代码
    			int x = 6, y = 3;
    			Assert::AreEqual(getsub(x, y), 3);
    		}
    		TEST_METHOD(TestMethod4)    //乘法测试
    		{
    			// TODO: 在此输入测试代码
    			int x = 6, y = 3;
    			Assert::AreEqual(getmul(x, y), 18);
    		}
    
    	};
    }
    
    

    • 测试##

      • 测试 -> 运行 -> 所有测试###


    + ###运行结果###


    组名称: UnitTest1
    分组依据: Hierarchy
    组全名: UnitTest1
    持续时间: 0:00:00.0012161
    0 个测试失败
    0 个测试跳过
    4 个测试通过
    
    结果1 名称:	TestMethod1
    结果1 结果:	已通过
    结果1 持续时间:	0:00:00.0009404
    结果1 StackTrace:
    结果1 消息:
    结果1 StandardOutput:
    结果1 StandardError:
    
    结果2 名称:	TestMethod2
    结果2 结果:	已通过
    结果2 持续时间:	0:00:00.0001058
    结果2 StackTrace:
    结果2 消息:
    结果2 StandardOutput:
    结果2 StandardError:
    
    结果3 名称:	TestMethod3
    结果3 结果:	已通过
    结果3 持续时间:	0:00:00.0000866
    结果3 StackTrace:
    结果3 消息:
    结果3 StandardOutput:
    结果3 StandardError:
    
    结果4 名称:	TestMethod4
    结果4 结果:	已通过
    结果4 持续时间:	0:00:00.0000833
    结果4 StackTrace:
    结果4 消息:
    结果4 StandardOutput:
    结果4 StandardError:
    
    

    总结##

      在这次的单元测试练习中,我采用了c语言非常简单的加减乘除测试案例,虽然案例简单,但是我基本熟悉了单元测试的过程,并且成功的实现了测试案例。

  • 相关阅读:
    WPF Caliburn 学习笔记(五)HelloCaliburn
    MSDN 教程短片 WPF 20(绑定3ObjectDataProvider)
    MSDN 教程短片 WPF 23(3D动画)
    比赛总结一
    HDU3686 Traffic Real Time Query System
    HDU3954 Level up
    EOJ382 Match Maker
    UESTC1565 Smart Typist
    HDU3578 Greedy Tino
    ZOJ1975 The Sierpinski Fractal
  • 原文地址:https://www.cnblogs.com/yachaohh/p/10692680.html
Copyright © 2011-2022 走看看