博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

mockcpp & testngpp在2010.7~11月的改进

Posted on 2010-11-30 21:08  sinojelly  阅读(834)  评论(0编辑  收藏  举报
mockcpp & testngpp在2010.7~11月的改进
 
 
mockcpp:
 
1、支持多种的xUnit测试框架。
(支持testngpp、gtest、CppUnit、CppUTest)
 
2、支持spy约束关键字。
(用于窥探给某个被mock函数传入的入参)
 
3、支持check约束关键字。
(以函数,或者仿函数对象来自定义参数检查规则)
 
4、支持Windows 7下的ApiHook功能。
(原来的ApiHook功能在Win7上使用有异常)
 
5、支持Linux下的ApiHook功能。
(之前只支持Windows,现在支持了Linux,在Linux下页可以不用MOCKABLE来进行C函数的mock )
 
6、支持64位平台下的ApiHook功能。
(在Windows XP 64bit + VS2008下测试通过)
 
7、支持VC __stdcall调用约定的函数的mock。
(__stdcall调用约定的函数,清栈的方式与默认不同。VC下socket操作函数都是__stdcall)
 
8、增加自动化编译脚本build.sh和build_install.sh(Linux&cygwin)以及它们的Windows版本(PowerShell脚本)。
(build.sh用于编译和运行测试用例,build_install.sh用于编译并安装,详细用法参见代码根目录的BuildGuide)
 
9、在verify之后,自动执行reset。
(无论是全局函数mock,还是对象mock,都支持这种方式,用户不用调用reset)
 
10、[DEV] 梳理了Windows和Linux用例的差异,现在两种平台上都可以运行通过所有用例。
 
 
 
 
testngpp:
 
1、支持内存泄露检查。
(监控测试用例运行中的内存申请释放,如果有内存未释放在报错)
 
2、错误信息输出改进,尽可能把有价值的信息打印出来。
(避免只报告给用户一个SEH异常,因为它很可能是在异常捕获后又抛出了异常,这种时候非常需要原始的异常信息)
 
3、支持统计并显示Fixture初始化出错的问题。
(有时在Fixture构造时失败,原来testngpp在这种情况下不输出任何信息,现在会打印Fixture初始化失败原因和统计信息)
 
4、支持给每个测试文件生成一个对应的.cpp文件,并且把多个这样的.cpp链接为一个测试.dll。
(同时在generator中判断是否需要重新生成.cpp文件,这样就可以良好的支持增量编译了)
 
5、测试辅助.cpp文件包含对应测试文件.h时,使用相对路径。
(避免路径存在中文时,写辅助.cpp文件时会出错)
 
6、支持在命令行使用TestModule或者TestModule.dll加载测试dll文件。
(原来只支持不带dll的情况)
 
7、支持Visual Studio 2010。