美文网首页
C++11 模板元编程 - TLP测试框架

C++11 模板元编程 - TLP测试框架

作者: MagicBowen | 来源:发表于2016-09-16 09:09 被阅读402次

既然说可以把模板元编程当做一门独立的语言,那么针对这门语言,我们希望能有一个专门的xUnit测试框架。

传统的C++测试框架,如gtest,cppUnit等,主要针对运行期C++设计。既然模板元编程运行在C++编译期,那么我们希望针对它的测试框架也运行在C++编译期。另外虽然C++编译期能用的基础设施捉襟见肘,但我们还是希望该框架的用法能和传统的xUnit测试框架类似,支持基本的测试断言和用例管理。

TLP库中实现了这样一个测试框架,它的设计初衷是为了能够测试TLP库自身。它专门针对C++编译期计算做测试,所有测试用例运行在C++的编译期,一旦编译通过,则相当所有的测试用例执行成功。一旦有执行失败的用例,就会导致编译错误,等待去修复用例。它支持定义testcase,支持将testcase划分到不同的fixture中,并提供测试统计和测试报告。

下面我们讲述一下该框架的一些主要设计技巧,涉及到的技术细节对大家学习模板元编程会有不少帮助。


测试断言

返回 C++11模板元编程 - 目录

相关文章

  • C++11 模板元编程 - Test in TLP

    TLP库中“tlp/include/test”目录下是我们前面介绍过的面向C++模板元编程的测试框架。该框架使用时...

  • C++11 模板元编程 - TLP测试框架

    既然说可以把模板元编程当做一门独立的语言,那么针对这门语言,我们希望能有一个专门的xUnit测试框架。 传统的C+...

  • C++11 模板元编程 - TLP库

    本节开始介绍TLP库中的模板元编程组件。TLP中许多基础的组件前文已经提到,我们先稍作汇总,然后开始着重讲解对模板...

  • C++11 模板元编程 - Traits in TLP

    C++标准库STL中的type_traits文件中,已经有了比较全面的C++ trait组件,可以用来对代码做各种...

  • C++11 模板元编程 - 类型操纵

    本文最开始介绍模板元编程的时候说过,模板元编程是写C++框架离不开的技术。本例将通过介绍模板元编程在dates框架...

  • C++11 模板元编程 - 测试套件

    测试套件Fixture用于对对测试用例分组。一个fixture中的所有测试用例共享了相同的脚手架,包含共同使用的前...

  • C++11 模板元编程 - 测试断言

    测试最重要的是要有断言。C++标准支持的编译期断言只有一个:static_assert。 static_asser...

  • C++11 模板元编程 - 测试Setup

    Fixture内的所有测试用例,可以共享一个setup,用于执行相同的前置准备动作。 针对模板元编程进行测试时,所...

  • C++11 模板元编程 - 测试Teardown

    既然fixture内部可以定义setup,我们自然希望也能对称地定义teardown,用于处理同一个fixture...

  • C++11 模板元编程 - 元编程

    从本节开始我们将模板元编程当做一门独立的函数式语言来讨论它的方方面面。 所谓元编程,就是指可以产生程序的程序。由于...

网友评论

      本文标题:C++11 模板元编程 - TLP测试框架

      本文链接:https://www.haomeiwen.com/subject/wdtiettx.html