[2018/01/30] emock 0.9 @ orca.zhang
- upgrade
mockcpp
toemock
- add README & assemble online CI
[2018/01/26] mockcpp 2.8 @ orca.zhang
- all-in-one MOCKER macro (no-need to do IoC for virtual member functions)
- variadic arguments list support for APIHOOK mode
[2017/12/30] mockcpp 2.7 @ orca.zhang
- Remove boost dependency:
- use equivalent way to fit
typeof
used scenarios. - solved
BOOST_TYPE_OF
cannot recognize user-defined type at default problem.
- use equivalent way to fit
- Support for mocking non-virtual method using
MOCKER
. - Fix
TestNG++
generator's compatibility for python 3.
- Support both IA32 & IA64 platform (MSVC & GCC).
- Support using parameter directly while setting an
eq()
constraint. - Changes:
- reduce lib file size.
- fix compile error when compile for cppunit.
- add default mocker for mockable.
- Add mem_checker & fix mem leaks.
- Support 64-bit x86 arch.
- Support
__stdcall
functions for MSVC. - Add
lt()
,gt()
,spy()
constraints. - Working with various xUnit frameworks, including googleTest, CppUTest.
- Added support for mocking free functions & static class methods without using macro
MOCKABLE
(only for MSVC). - Fully switched the building system to
CMake
. - Changed some implementation to work with
TestNG++
.
- Automatic type inference of integer types (
long
/unsigned long
,int
/unsigned int
,short
/unsigned short
,char
/unsigned char
) is supported. - Using
CMake
as the building system, rather than putting MSVC project files into repository directly.
- MSVC 2008 is supported, except for the RTTI capabilities (which means
dynamic_cast
does not work correctly, basically, it always returns 0). - Supported cygwin (tested under cygwin 1.5.25-15 with gcpp 3.4.4).
- Advanced Guide (English Version).
- Down cast by
dynamic_cast
is supported. - Able to specifing the life cycle of a mock object, and a mock object could be performed delete operation(not
::operator delete
) safely. - Const reference type of return value of a mocked method is fully supported.
ignoreReturnValue()
is deprecated. Actually it's not allowed to use it any longer. Instead, you should always specify - the return behavior in a mock specification.- Added some configure parameters to change the default settings.
- Some minor bugs were fixed.
- Define mock classes for interfaces is not required any longer (Only working with g++ so far).
- Refactored some concepts to make them more clear and easy to understand.
- Supporting mocking C function easily (gcpp > 3 / MSVC > 6).
- Added
.then(stub)
after.will(stub)
to make specifying complex invocation behavior much easier. - Allow specifying more order-related constraints by using multiple
before()
/after()
. - Added some useful extensions (
repeat()
,increase()
,throws()
,startWith()
,endWith()
,contains()
, etc.).