搜索

pdf文档 Testing Compile-time Constructs Within a Runtime Unit Testing Framework

1.37 MB 50 页 0 下载 76 浏览 0 评论 0 收藏
所属分类: 后端开发 / C++
语言 格式 评分
英语
.pdf
3
摘要
文档讨论了如何在运行时单元测试框架中测试编译时构造,特别是在使用C++14开发安全关键应用程序时。通过集成GoogleTest库,作者提出了一种新的测试方法,称为静态测试,用于验证代码的编译性。该方法通过生成自定义测试文件并使用编译器进行检查,能够检测编译时错误并确保代码安全。静态测试通过宏(如STATIC_TEST、SHOULD_NOT_COMPILE等)实现,与现有测试框架无缝集成,显著提升了代码质量。
AI总结
本文讨论了在安全关键应用中使用C++(14)开发时,如何测试编译时构造(如编译时多态和检查)的问题。核心问题是如何在严格测试的前提下,验证代码的编译性。 作者提出了一种静态测试框架,该框架整合了GoogleTest库,并通过以下方式实现: 1. **静态测试框架的核心功能**: - 使用自定义宏(如`STATIC_TEST`、`SHOULD_NOT_COMPILE`等)隐藏底层实现。 - 通过脚本生成测试文件,并将这些文件传递给编译器。 - 解释编译结果以判断测试是否通过。 2. **框架的工作流程**: - **生成测试文件**:根据输入生成特定的测试代码。 - **编译测试文件**:使用正确的编译器标志进行编译。 - **解释编译结果**:根据编译是否成功决定静态测试的结果。 3. **示例**: - 测试函数`get_half_of`是否正确返回预期值。 - 检测编译时错误,例如函数调用是否符合预期模式。 4. **测试结果**: - 如果编译成功,静态测试失败。 - 如果编译失败,静态测试成功。 - 测试用例输出中包含详细的错误信息,帮助定位问题。 该框架能够捕获之前难以检测的错误,显著提高了代码的安全性和可靠性。目前,作者正在开发一个概念验证实现,以进一步完善该方法。
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余 38 页请下载阅读 -
文档评分
请文明评论,理性发言.