SymbianOSUint框架

来源:互联网 发布:java 业务日志记录 编辑:程序博客网 时间:2024/06/04 17:41

1.CxxTest的基本框架:
CxxTest在测试的类中写了几个测试的函数,这个测试的类是继承至CxxTest::TestSuite类,这几个函数通过一个脚本生成了一个叫TestDriver.h的文件,通过这个文件我们发现,实际上这些函数都被生成了具体的类,这些类都是继承自CxxTest::Runnalbe接口,而这个类有一个纯虚函数Runnable().测试时会先生成一个TestDriver类,此类提供了一个runAllSuitesL方法。然后此方法会调用ErrorPrinter的静态方法runAllTestsL方法。然后这个方法会调用TestRunner的静态方法runAllTests().这个方法会调用runWorld方法。runWorld方法调用enterWorld,SetUp,checkAndRunSuite,teardown,leaveWorld.在这个方法checkAndRunSuite中会调用runSuite,在runSuite方法中对每个suite会调用SetUp和runTest,teardown.runTest即是调用run函数。

其中一个WorldDescription有N个Suite,一个SuiteDescription有N个TestDescription。


另外有一个值得注意的地方在于:文件ValueTraites.h,这个文件中有运用了一种称之为traits的技术,这种技术在C++ Modern Design中被称之为Policies。它的意义是用来定义一个class或class template的接口,该接口由下列项目之一或全部组成:内隐性别定义,成员函数或成员变量。