在 Symbian S60 平台进行单元测试
2010-03-16 17:18:00 来源:WEB开发网S60平台:地图和定位范例就在测试部分做了拓展,不过仅做演示使用。在真实生活中,单元测试应该在具体的类被应用前即工程开发期间就被编写。单元测试由类 CMapExampleSmsEngine 创建。
● 创建一个测试工程
开发者应该在他们的电脑上安装Carbide C++ 1.2和S60 3rd FP1,还应激活Carbide的命令行工具(从Carbide的开始菜单项里选择Configure environment for WINSCW command)。
从诺基亚论坛下载S60平台:地图和定位范例[1]并解压缩,确保其存放路径为C: empMapEx。 然后从Sourceforge[3]下载SymbianOSUnit并解压缩。将SymbianOSUnit由解压缩后的根目录复制到C: emp SymbianOsUnit。SymbianOSUnit需要nmake,所以需下载它[6],解压缩后复制NMAKE.EXE和NMAKE.ERR到路径地址到C:Program FilesNokiaCarbide.c++ v1.2x86BuildSymbian_ToolsCommand_Line_Tools.
在此之前,建议读者阅读教程文档和测试框架提供的例子。
现在我们开始创建单元测试工程和一些测试:
1.在范例工程下创建路径 C:vidyasvnMapEx est。
2.从测试框架应用教程复制Tutorialgroup ExtraTestBuildTasks.bldmake和Tutorial est estgen.bat到测试路径。
3. 在TestHeader.h文件中创建一个最小的测试套件:任何测试首选的方法就是将它们看作一个测试实例;测试目标作为类变量添加进去并且该测试类(也称为不变量)是继承自CxxTest::TestSuite。
1 #ifndef TESTHEADER_H
2 #define TESTHEADER_H
3
4 #include "TestSuite.h"
5
6 // forward declaration
7 class CMapExampleSmsEngine;
8 class MSmsEngineObserver;
9
10 class CMapExampleSmsEngineTest : public CxxTest::TestSuite
11 {
12 public:
13 CMapExampleSmsEngineTest(const TDesC8& aSuiteName) :
14 CxxTest::TestSuite(aSuiteName){}
15
16 private: // from CxxTest::TestSuite
17 virtual void setUp();
18 virtual void tearDown();
19
20 public:
21 void testParseMsgCoordinates();
22 void testParseMsgRequestType();
更多精彩
赞助商链接