Mockingbird v0.11.0 Release Notes
Release Date: 2020-04-08 // about 4 years ago-
π Note: Because the generator in the 0.11.1 patch is compatible with 0.11.0, weβve backported all artifacts from 0.11.1 into this release.
Targets
- Xcode 11.3 / Swift 5.1
- π iOS 8.0+, macOS 10.14+, tvOS 9.0+
π₯ Breaking
- β
Enforce correct usage of class and protocol mocks by showing compile time errors when coercing mocks or using uninitialized class mocks. Use
dummy(SomeType.self)
instead ofmock(SomeType.self)
when passing initialized test objects as arguments that donβt require mocking or stubbing
Andrew Chang - π Change CLI install command parameter names from
mockingbird install --target Bird --destination BirdTests
tomockingbird install --target BirdTests --source Bird
Andrew Chang - π Improve Carthage installation process to work when directly running
$ carthage update
Andrew Chang
Experimental
- None
β¨ Enhancements
- β Add in order verification for enforcing relative invocation ordering
Andrew Chang - π Support implicitly imported modules in mixed-source (Objective-C and Swift) targets
Andrew Chang - π€‘ Handle negation and non-relative patterns in
.mockingbird-ignore
files
Andrew Chang - β Add CocoaPods and Carthage example projects and integration tests
Andrew Chang - π Improve integration of nominal count matchers, allowing for syntax like
verify(foo.bar()).wasCalled(once)
andverify(foo.bar()).wasCalled(atLeast(once))
Andrew Chang - β Add fuzzy floating point argument matcher to standard testing library, usage:
around(10.0, tolerance: 0.01)
Andrew Chang - π Improve clarity and verboseness of test failure messages, showing invocation history
Andrew Chang - β Add CustomStringConvertible to standard supporting source files
Andrew Chang - π Improve clarity of setup and installation process in README, including a new Troubleshooting section
Andrew Chang - π Include prebuilt iOS, macOS, and tvOS frameworks in release artifacts
Andrew Chang
π Bug Fixes
- π Support implicit
TARGET_NAME
build setting for module name resolution
Andrew Chang - Specialize members inherited from generic classes
Andrew Chang - π Fix type coercion regression in type facade resolution method which was erasing type annotations
Andrew Chang - π Fix parsing optional function return types
Andrew Chang - π Handle class-constrained protocols with designated initializers
Andrew Chang - π Handle generic type shadowing top-level types and other generic types
Andrew Chang