Changelog History
Page 2
-
v3.0.1 Changes
December 27, 2015๐ Version 3.0.1
27 Dec 2015
๐ Improvements:
- ๐ Improved filtering of call stack to skip past XCTest frames.
- Don't consider previously verified invocations when finding similar invocations.
- ๐จ When printing invocations, mark previously verified invocations with check marks.
-
v3.0.0 Changes
December 21, 2015๐ Version 3.0.0
21 Dec 2015
Compatibility-breaking Changes:
The semantics for repeated verification have changed. Call counts used to always accumulate:
โฆsomething that invokes someMethodโฆ [verifyCount(myMock, times(1)) someMethod]; โฆanother thing that invokes someMethodโฆ [verifyCount(myMock, times(2)) someMethod];
But now, verification counts only the matches since the last verification.
- OCMockito now requires OCHamcrest v5.1.0 or higher, which also potentially breaks compatibility.
๐ Features:
- ๐คก Instead of enabling short syntax by defining MOCKITO_SHORTHAND, short syntax is now enabled by
default. To disable it, #define MKT_DISABLE_SHORT_SYNTAX. - Previously verified invocations are no longer considered for verification.
- Report additional information about verification failures:
- If the number of matches is incorrect, report a filtered call stack of the first bad invocation
or the last good invocation. - If there were no matches, but there was a call to the expected method, report it. Describe the
mismatched arguments along with a filtered call stack. - If there were no matches, but there were other calls to the mock, report them with call stacks.
- If there were no matches, and in fact that mock received no calls, say so.
- If the number of matches is incorrect, report a filtered call stack of the first bad invocation
๐ Fixes:
- ๐ Fixed
atMost(0)
โ Deleted:
- ๐
MKTCapturingMatcher
(deprecated in 2.0.1)
-
v2.0.3 Changes
06 Nov 2015
Project changes:
- 0๏ธโฃ Enabling "Symbols hidden by default" in 2.0.2 was overkill, preventing people from using the prebuilt Mac framework.
-
v2.0.2 Changes
24 Oct 2015
Project changes:
- โ Remove debug symbols from Release configuration, which bloated the libraries and kept folks from using the prebuilt iOS framework.
-
v2.0.1 Changes
14 Oct 2015
Compatibility-breaking Change:
- ๐คก Eliminated
reset(mock)
sincereset
was likely to clash with mocked methods. CallstopMocking(mock)
instead.
๐ Fixes:
- ๐ Fixed crash when multiple mock objects are at play on multiple threads.
๐ Features:
- Stub void methods with
givenVoid(โฆ)
. Thanks to: Lysann Schlegel - Added
atMost(count)
forverifyCount()
. Thanks to: Emile Cantin
๐ Improvements:
- โ
Use
stopMocking(โฆ)
if a-dealloc
of your System Under Test is trying to message an object that is mocked. It disables message handling on the mock and frees its retained arguments. This prevents retain cycles and crashes during test clean-up. See StopMockingTests.m for an example. - NSInvocation+OCMockito.h is now imported by OCMockito.h, so it no longer needs a separate import.
๐ Deprecated:
- ๐ Deprecated MKTCapturingMatcher; use HCArgumentCaptor from OCHamcrest for capturing arguments. There is no need to call -capture to get a matcher to use as the argument, since HCArgumentCaptor is a matcher.
Project changes:
- โก๏ธ Updated project settings to Xcode 7, with tests now run by XCTest.
- ๐คก Eliminated
-
v1.4.0 Changes
04 Jan 2015
๐ Features:
- Stub sequential returns by chaining
willReturn:
. - Stub throwing exceptions with
willThrow:
. - Stub execution of a block with
willDo:
. - Added support for dynamic properties. Thanks to Eugen Martynov for example code
- โ Added
mockProtocolWithoutOptionals(โฆ)
which mocks an object implementing a given protocol, but without mocking any optional methods. Thanks to: Paweล Dudek
๐ Improvements:
- โก๏ธ Updated project to make it run-path dependent.
- Stub sequential returns by chaining
-
v1.3.1 Changes
27 Sep 2014
TPWeakProxy changes:
- โก๏ธ Updated to from TPWeakProxy to TPDWeakProxy.
- ๐ Directly include a renamed copy to simplify non-CocoaPod builds. Don't call the script Frameworks/getweakproxy anymore.
-
v1.3.0 Changes
04 Jun 2014
This version requires OCHamcrest 4.0.1. ๐ TPWeakProxy 1.0.0 is also needed to build OCMockito.
- ๐ To build OCMockito without CocoaPods, execute two scripts:
- Frameworks/gethamcrest
- Frameworks/getweakproxy
๐ Fixes:
- ๐ Fix
mockClass
crash on 64-bit runtime (OS X and iOS). - ๐ Fixed retain cycle between mocks and tests. The fix addresses most but not all cases. If the
-dealloc
of your System Under Test is not called when you nil out your SUT, call-reset
on your mock object (probably fromtearDown
). Thanks to ronak2121 for testing
๐ Features:
- Stub methods that return structs with
willReturnStruct:objCType:
. Thanks to GWStuartClift and Yaron Inger stubProperty(instance, property, value)
stubs a property, and its relatedgetValueForKey:
andvalueForKeyPath:
KVO methods. Thanks to: Sasha Zats
Project changes:
- ๐ Increased deployment targets to OS X 10.8, iOS 6.0.
- ๐ To build OCMockito without CocoaPods, execute two scripts:
-
v1.2.0 Changes
05 Apr 2014
If you're not using CocoaPods, please specify
-ObjC
in your "Other Linker Flags".๐ Fixes:
- Fix crash capturing nil selectors as method parameters. Thanks to: Sergio Padrino
- Fix crash capturing inline blocks as method parameters. Thanks to: Sergio Padrino
- Fix crash returning BOOL on 64-bit iOS. Thanks to: Ullrich Schรคfer
๐ Features:
- โ Added support for pointer arguments, including
NSError **
. - Added support for struct arguments. Thanks to: Cรฉsar Estรฉbanez Tascรณn
๐ Improvements:
- ๐ To build OCMockito without CocoaPods, execute the script Frameworks/gethamcrest first to get the latest OCHamcrest release.
-
v1.1.0 Changes
30 Oct 2013
๐ Features:
- โ Added MKTArgumentCaptor to capture arguments:
- Use
capture
to capture the argument. This must be used inside of verification. - Use
value
to return the captured value. - Use
allValues
to return an array of all captured values.
- Use
๐ Improvements:
- ๐ Changed mock object factory methods to cast to
(id)
to eliminate AppCode warnings. - โ Added support for 64-bit iOS devices.
- Convert primitive arguments to objects using NSInvocation+OCMockito by Taras Kalapun.
๐ Examples & Documentation:
- โก๏ธ Updated examples so they are based on Apple's templates for main target vs. test target. Added CocoaPods examples.
- ๐ Eliminated DocSet. Documentation will be in the main README and in the OCMockito wiki, https://github.com/jonreid/OCMockito/wiki/_pages
- โ Added MKTArgumentCaptor to capture arguments: