VS2019 C++ 单元测试
荒废的光阴,最后得自己一点点捡起来。个人笔记,有误请直接评论提出,共同学习。
一、环境介绍
前段时间开始重拾错过的东西,测试环境是VS2019,今天在UnitTest目录下测试。
二、待测项目
1,创建项目
1)在解决方案文件夹上右键->添加->新建项目
2)选择C++空项目,点击下一步
3)输入项目名->选择项目路径->创建
2,新建源码文件
1)右键头文件->添加->新建项
2)选择头文件->输入文件名->点击添加
3)右键源文件->添加->新建项
4)选择C++文件->输入文件名->点击添加
3,源码
1)Calculate.h:
#pragma once
class Calculate
{
public:
int Add(int a, int b);//加
int Subtract(int a, int b);//减
int Multiply(int a, int b);//乘
int Divide(int a, int b);//除
};
2)Calculate.cpp
#include"Calculate.h"
int Calculate::Add(int a, int b)
{
return a + b;
}
int Calculate::Subtract(int a, int b)
{
return a - b;
}
int Calculate::Multiply(int a, int b)
{
return a * b;
}
int Calculate::Divide(int a, int b)
{
return a / b;
}
int main()
{
return 0;
}
三、单元测试项目
1,新建项目
1)右键解决方案文件夹->添加->新建项目
2)测试->本机单元测试项目->下一步
3)输入项目名->选择位置->创建
2,关联待测试项目
1)右键测试项目->添加->现有项
2)选择待测试项目下Debug(Release)目录下obj文件->添加
3,源码
#include "pch.h"
#include "CppUnitTest.h"
#include"../Calculate/Calculate.h"
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
namespace UnitTestCalc
{
TEST_CLASS(UnitTestCalc)
{
public:
Calculate calc;
TEST_METHOD(Add)//加
{
int a = rand();
int b = rand();
int exp = a + b;
int ret = calc.Add(a, b);
Assert::AreEqual(exp, ret);
}
TEST_METHOD(Subtract)//减
{
int a = rand();
int b = rand();
int exp = a - b;
int ret = calc.Subtract(a, b);
Assert::AreEqual(exp, ret);
}
TEST_METHOD(Multiply)//乘
{
int a = rand();
int b = rand();
int exp = a * b;
int ret = calc.Multiply(a, b);
Assert::AreEqual(exp, ret);
}
TEST_METHOD(Divide)//除
{
int a = rand();
int b = rand();
int exp = a / b;
int ret = calc.Divide(a, b);
Assert::AreEqual(exp, ret);
}
};
}
四、单元测试
1)测试->测试资源管理器
2)右键测试项目->运行
3)测试结果