Releases: tjarratt/fake4swift
Minor version bumps are but a setback
After Apple released Xcode 7.3, I thought it would be a good time to bump some dependencies and release a new build of this plugin.
Oh, what a good idea that was. There were a lot of breaking changes in the Swift language and in my upstream dependencies waiting for me.
Dear users, I hope this update brings you joy. May all of your tests be quick, high-value and never flakey. May your test doubles be stronk and bear many children.
How much magic is too much magic?
This release is yet another refinement of the earlier 1.0 release. Through great effort, we've improved almost every aspect of generating fakes for Swift protocols.
- Success / Failure bezel messages are now much better
- Fixed incredibly obnoxious warning messages with the
fake4swift
CLI (thanks @briancroom!) - Generated fakes are now automagically added to Xcode
As always, feedback is greatly appreciated!
More test doubles for the test doubles god
This release included a lot of housekeeping, most notably extracting the functionality of the "generate test double" feature into a shared framework, née BetterRefactorToolsKit
. Generating test doubles is now exposed as a CLI tool called fake4swift
You can generate a test double from the command line like so:
$ fake4swift /absolute/path/to/a/file.swift MySpecialProtocol
Successfully generate FakeMySpecialProtocol!
Known Issues
- Lots of annoying output about Swift stdlib classes "implemented in both...". This is a result of (what I believe) to be a bug against the swift compiler. I'm hoping to fix this in a future release, but I don't have an obvious fix in mind.
- fake4swift will crash if you do not specify an absolute path. Intending to fix this in a future release, but contributions are welcome!
First release! Best release!
This is the initial release of Better Refactor Tools. Included are two major pieces of functionality:
- Generate Fake
- CTRL + G
- generate a test double that implements the swift protocol you have selected
- useful when testing with Quick and Nimble
- Change Method Signature
- CMD + F6
- Interactively change the method signature of an objective-c selector
- add, remove, reorder, rename selector components
- automatically rewrites existing callsites[1]
[1] Sometimes. There's still some edge cases that don't work at all. Save early, save often!