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语言非常简单的加减乘除测试案例,虽然案例简单,但是我基本熟悉了单元测试的过程,并且成功的实现了测试案例。