zoukankan      html  css  js  c++  java
  • CppUnit学习总结

    1. CPPUNIT_ASSERT()断言语句执行失败后退出执行类,后续语句不再执行,若断言成功,则继续执行。
    2. free(phDev);//只有malloc了内存空间的指针才需要释放掉

     
    CppUnit按照层次来管理测试,最底层的就是TestCase,当有了几个TestCase以后,可以将它们组织成TestFixture。在TestFixture中,可以建立被测试的类的实例,并编写TestCase对类实例进行测试,多个TestFixture可以通过TestSuite来对测试进行管理。[2]
    通过派生TestFixture类来设计某个类或某组相关功能的单元测试,Fixture定义公共函数setUp()初始化每个成员变量,tearDown()来释放setUp中使用的资源。在每个测试中,CPPUNIT_ASSERT(bool)来判断某个函数和表达式的正确性,在派生类的声明中,通过CPPUNIT_TEST来增加对应的测试函数,通过CPPUNIT_TEST_SUITE和CPPUNIT_TEST_SUITE_END来分装所有的测试函数,规定这些测试函数执行的顺序.[2]
    框架
    1)CppUnit核心部分(core)
    • 基本测试类:Test,TestFixture,TestCase,TestSuite
    • 测试结果记录:SychronizedObject,TestListener,TestResult
    • 错误处理:TestFailure,SourceLine,Execption,NotEqualException
    • 断言:Asserter,TestAssert
    2)输出部分(Ouput)
    • 基本部件:Outputter,TestResultCollector
    • 衍生类:TestOutputter,CompilerOutputer,XmlOutputer
    3)辅助部分(Helper)
    TypeInfoHelper,TestFactory,TestFactoryRegistry,NamedRegisters,TestSuiteFactory,
    TesSuiteBuilder,TestCaller,AutoRegisterSuite,HelperMacros.
    4)扩展部分(Extension)
    TestDecorator,RepeatedTest,Orthodox,TestSetUp
    5)监听者部分(Listener)
    TestSucessListener,TextTestProgressListener,TextTestResult
    6)界面部分(UI)
    TestRunner(TextUI,MfcUI,QtUI)
    7)移植(Portabilty):OStringStream
     
     

    // 把这个TestSuite注册到名字为"alltest"TestSuite如果没有定义会自动定义

    // 也可以CPPUNIT_TEST_SUITE_REGISTRATION( MathTest );注册到全局的一个未命名的TestSuite.

    CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( MathTest, "alltest" );

     
  • 相关阅读:
    vue cli3 打包到tomcat上报错问题
    前端html转pdf
    原生js上传图片遇到的坑(axios封装)
    vue slot的使用(transform动画)
    vue购物车动画效果
    关于el-select 单选与多选切换的时候报错的解决办法
    vue html属性绑定
    关于element ui滚动条使用
    css3flex布局实现商品列表 水平垂直居中 上下布局
    vue 项目 路由 router.push、 router.replace 和 router.go
  • 原文地址:https://www.cnblogs.com/zhangxiaosong/p/3364737.html
Copyright © 2011-2022 走看看