VS2013本地C++单元测试框架
VS2013本地C++单元测试框架
https://www.cnblogs.com/xiehongfeng100/p/4438076.html

在VS2013中,可以使用VS自带的C++单元测试框架。
在使用该框架前,需要先安装Unit Test Generator(可以通过菜单“工具->扩展和更新”搜索安装)。
下边,就阐述一下利用该框架的步骤:
1. 新建空的Win32控制台项目NativeUnitTest
将该工程的"配置类型"改为“动态库(dll)”,如下图:

2. 新建单元测试工程
在解决方案NativeUnitTest下新建单元测试工程,“Visual C++ -> 测试 -> 本机单元测试项目”,如下图所示:

3. 生成NativeUnitTest项目
这样做的目的在于生成.obj文件(在NativeUnitTest/Debug/中),以便于单元测试项目添加。
4. 修改单元测试项目属性
详细如下图所示:


5. 编写单元测试文件
NativeUnitTest项目的头文件和源文件如下:
1 class TrivialCalculator
2 {
3 public:
4 double Add(double x, double y);
5 double Subtract(double x, double y);
6 double Multiply(double x, double y);
7 double Divide(double x, double y);
8 };
1 class TrivialCalculator
2 {
3 public:
4 double Add(double x, double y);
5 double Subtract(double x, double y);
6 double Multiply(double x, double y);
7 double Divide(double x, double y);
8 };
1 #include "TrivialCalculator.h"
2
3 double TrivialCalculator::Add(double x, double y)
4 {
5 return x + y;
6 }
7
8 double TrivialCalculator::Subtract(double x, double y)
9 {
10 return x - y;
11 }
12
13 double TrivialCalculator::Multiply(double x, double y)
14 {
15 return x * y;
16 }
17
18 double TrivialCalculator::Divide(double x, double y)
19 {
20 return x / y;
21 }
1 #include "TrivialCalculator.h"
2
3 double TrivialCalculator::Add(double x, double y)
4 {
5 return x + y;
6 }
7
8 double TrivialCalculator::Subtract(double x, double y)
9 {
10 return x - y;
11 }
12
13 double TrivialCalculator::Multiply(double x, double y)
14 {
15 return x * y;
16 }
17
18 double TrivialCalculator::Divide(double x, double y)
19 {
20 return x / y;
21 }
单元测试文件如下:
1 #include "stdafx.h"
2 #include "CppUnitTest.h"
3 #include "..\NativeUnitTest\TrivialCalculator.h"
4
5 using namespace Microsoft::VisualStudio::CppUnitTestFramework;
6 using namespace std;
7
8 namespace NativeUnitTest_Namespace
9 {
10 TEST_CLASS(TrivialCalculatorTest)
11 {
12 public:
13 TrivialCalculatorTest()
14 {
15 test = new TrivialCalculator;
16 }
17
18 ~TrivialCalculatorTest()
19 {
20 delete test;
21 }
22
23 TEST_METHOD(AddTest)
24 {
25 //TrivialCalculator test;
26 double actual = test->Add(1.0, 2.0);
27 double expected = 3.0;
28
29 Assert::AreEqual(expected, actual, 0.0001);
30 }
31
32 TEST_METHOD(SubtractTest)
33 {
34 //TrivialCalculator test;
35 double actual = test->Subtract(2.0, 1.0);
36 double expected = 1.0;
37
38 Assert::AreEqual(expected, actual, 0.0001);
39 }
40
41
42 public:
43 TrivialCalculator * test;
44
45 };
46
47 }
参考资料:
使用 Microsoft.VisualStudio.TestTools.CppUnitTestFramework
(英文版Using Microsoft.VisualStudio.TestTools.CppUnitTestFramework)
Writing Native C++ Unit Tests with VS Test
Unit testing native code with Test Explorer
Visual Studio 单元测试 C++ 版 —— 测试已有的工程
在Visual Studio 2013 中使用C++单元测试
================ End


浙公网安备 33010602011771号