Mockingbird v0.15.0 Release Notes
Release Date: 2020-08-13 // over 4 years ago-
Targets
- Xcode 11.6 / Swift 5.2
- ๐ iOS 8.0+, macOS 10.14+, tvOS 9.0+
Migrating from 0.14
๐คก Generic Mock Initialization
๐ This release unifies the mock initialization API for generic types.
class MyClass {}protocol MyProtocol {}class MyGenericClass\<T\> {}protocol MyGenericProtocol { associatedtype T}// Oldmock(MyClass.self)mock(MyProtocol.self)mock(MyGenericClassMock\<Bool\>.self)mock(MyGenericProtocolMock\<Bool\>.self)// Newmock(MyClass.self) // no changemock(MyProtocol.self) // no changemock(MyGenericClass\<Bool\>.self)mock(MyGenericProtocol\<Bool\>.self)
Value Provider Semantics
Value provider has been simplified and no longer allows for hierarchical composition and decomposition.
// Oldvar provider = ValueProvider() provider.addSubprovider(.standardProvider) provider.removeSubprovider(.standardProvider)// New (mutating)var provider = ValueProvider() provider.add(.standardProvider)// New (non-mutating)let provider = ValueProvider() + .standardProviderlet provider = ValueProvider().adding(.standardProvider)
๐ New Features
- ๐คก Unified generic mock initialization for classes and protocols (#157)
Andrew Chang | Jierong Li - ๐ Improved ValueProvider value semantics (#159)
Andrew Chang - โ Added custom header option to generator (#158)
Andrew Chang | Ryan Meisters
โจ Enhancements
- โก๏ธ Updated code signing certificates and added CI action to build signed artifacts on commit with audit trail (#104)
Andrew Chang | Ryan Meisters