## UnitTest相关知识点



### 1.单元测试基本概念

单元测试是对软件中的最小可测试单元进行检查和验证，通常由开发人员编写和执行。单元测试不仅用于保证当前代码的正确性，更重要的是在代码修复、改进或重构之后，确保其仍然正确

### 2.单元测试

#### 2.1单元测试创建和书写

第一步：选择新建项目，项目类型选择本机单元测试项目，点击创建即可。

<img src=".\Pictures\image-20250709123659484.png" alt="image-20250709123659484" style="zoom:50%;" />

第二步：右键单元测试项目，选择添加想要测试的程序（obj文件）。

<img src=".\Pictures\image-20250709123824376.png" alt="image-20250709123824376" style="zoom:50%;" />

第三步：编写测试代码，同时调用被测试的项目的头文件。

<img src=".\Pictures\image-20250709123912091.png" alt="image-20250709123912091" style="zoom:50%;" />

第四步：上方测试菜单选择测试资源管理器，右键管理器内的项目，选择运行即可。

<img src=".\Pictures\image-20250709124004987.png" alt="image-20250709124004987" style="zoom:50%;" />

#### 2.2代码覆盖度

概念：**单元测试覆盖度**是衡量测试用例对代码逻辑覆盖程度的重要指标，通常包括行覆盖、分支覆盖、条件覆盖和路径覆盖等类型。它帮助开发者评估测试的全面性，确保代码的质量和稳定性。

想要查看代码覆盖度可以使用第三方工具，例如Goole Test。

<img src=".\Pictures\image-20250709124618237.png" alt="image-20250709124618237" style="zoom:50%;" />

#### 2.3运行性能

运行性能可以通过性能测试进行判断，可以通过查看管理器界面查看运行后的性能显示，也可以多次进行重复测试，来保证代码运行性能。

同时可以在设置内选择性能规则。

<img src=".\Pictures\image-20250709125323664.png" alt="image-20250709125323664" style="zoom:50%;" />

<img src=".\Pictures\image-20250709125333601.png" alt="image-20250709125333601" style="zoom:50%;" />

#### 2.4单元测试的调试

可以在软件上方的测试菜单栏选择调试所有测试，来进行单元测试的调试。

<img src=".\Pictures\image-20250709125538122.png" alt="image-20250709125538122" style="zoom:50%;" />

调试时可以选择上方菜单栏，使用不同调试功能。

<img src="./../IAR/Pictures/image-20250710135821708.png" alt="image-20250710135821708" style="zoom: 33%;" />

也可以在窗口模式选择查看堆栈、监视等窗口功能进行使用。

<img src="./../IAR/Pictures/image-20250710140023223.png" alt="image-20250710140023223" style="zoom:50%;" />