发行版需要做以下工作:
将Project的属性设置为Release(这将自动去除_DEBUG的声明);
从工程项目中去掉测试文件(即带有test前辍的文件);
3.1.2测试环境使用Visual C++,Windows非窗口应用程序
3.1.2.1前题:使用CppUnit1.6.2版,解压后,路径为x:\\cppunit-1.6.2;
在工程文件中配置测试框架使用环境:加入执行头文件的路径x:\\cppunit-1.6.2\include,加入导入库文件的路径x:\\cppunit-1.6.2\lib;
配置DEBUG(测试)版环境:
加入需要链接的静态测试框模块cppunitcd.lib(测试框架);
在Project Settings/C++/C++ Language中启用RTTI;
3.1.2.2建立测试用例:
1、以类名加前辍“Test”命名测试单元文件名,比如“CMabString”类的类文件名为MabString.cpp,则测试单元文件命名为TestMabString.cpp;
2、加入测试框架头文件以及要测试的单元头文件,以TestMabString为例:
头文件:testmabstring.h
3、测试示例同上;
3.2 C标准
3.2.1测试环境使用gcc,Linux非窗口应用程序
前题:使用check0.8.0版,解压后,路径为/xx/check-0.8.0;
配置测试框架使用环境(我建议采用标准组织推荐的使用Autoconf和Automake来生成配置文件configure和Makefile,因为使用它们可以建立符合国际标准的configure脚本 和Makefile文件,并且可以有效的建立压缩包和方便分发必需的文件(也方便在发行版中去除测试用例文件):
l 首先需编写configure.in文件,此文件用于Autoconf生成configure可执行脚本;configure.in的框架大致如下:
dnl 此文件用于生成configure脚本,
dnl AC_INIT的xxxx.h参数代表本目录下一个有效的文件名
AC_INIT(xxxx.h)
dnl AM_INIT_AUTOMAKE的两个参数分别是生成应用程序的版本及版本号,
dnl 可能有些版本的Autoconf和Automake不支持此宏
AM_INIT_AUTOMAKE(xxxx, x.x)
dnl 以下为编译依赖的检测
dnl Checks for programs.
AC_PROG_AWK
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_LN_S
dnl Checks for libraries.
AC_CHECK_LIB(check,suite_create)
dnl Checks for header files.
AM_CONFIG_HEADER(config.h)
dnl Checks for typedefs, structures, and compiler characteristics.
dnl Checks for library functions.
dnl 将Automake生成的Makefile.in文件输出为Makefile文件
AC_OUTPUT(Makefile)
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/