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" );

     
  • 相关阅读:
    python之约束、加密及logging模块
    python之反射机制与callattr()、issubclass()、isinstance、type()相关
    python之面向对象初识
    python函数名的应用、闭包和迭代器
    python(动态传参、命名空间、函数嵌套、global和nonlocal关键字)
    python中函数的定义、返回值以及参数的简要介绍
    python文件操作
    python中set(集合),深浅拷贝以及一些补充知识点
    python中is与==的区别,编码和解码
    python数据类型:dict(字典)
  • 原文地址:https://www.cnblogs.com/zhangxiaosong/p/3364737.html
Copyright © 2011-2022 走看看