Studying about mock objects led me to jMock. The matcher library Hamcrest was extracted out of jMock. So I wrote OCHamcrest,
an Objective-C port of Hamcrest.
I had one gig working on Mac & Windows. Mac was Cocoa, Windows was .NET. Looking into the unit testing frameworks for .NET, I chose NUnit. (A decade later, I still think of NUnit features that the Apple team has yet to deliver in XCTest.)
Then iOS happened. At the time, there were two competing unit testing frameworks: SenTestingKit and GHUnit, each with their advantages. (Apple eventually adopted SenTestingKit, rebranding it as OCUnit. Eventually, this became XCTest.)
Then I tried different approaches to mock objects. OCMock existed by then, patterned after jMock. But a friend pointed me to an alternative called Mockito. It offered tests that were both more readable and less fragile. So I wrote OCMockito,
an Objective-C port of Mockito that used the matchers of OCHamcrest. (Here’s a page collecting the various tools I’ve made.)
Lately, I’ve been working in Swift, of course. I'm back at another Fortune 100 company. Everything about coding feels so different from that time the other company fired our team.