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。