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

     
  • 相关阅读:
    高级(线性)素数筛
    Dijkstra(迪杰斯特拉)算法
    简单素数筛
    【解题报告】 POJ1958 奇怪的汉诺塔(Strange Tower of Hanoi)
    4 jQuery Chatting Plugins | jQuery UI Chatbox Plugin Examples Like Facebook, Gmail
    Web User Control Collection data is not storing
    How to turn on IE9 Compatibility View programmatically in Javascript
    从Javascrip 脚本中执行.exe 文件
    HtmlEditorExtender Ajax
    GRIDVIEW模板中查找控件的方式JAVASCRIPT
  • 原文地址:https://www.cnblogs.com/zhangxiaosong/p/3364737.html
Copyright © 2011-2022 走看看