As others have said, needing to actually read input (not just mocked input) during tests is extremely unusual and will make your testing much harder. If you wish test your API interactions, including multiple calls, mocking is the way to go. I suggest real network mocks using something like OHHTTPStubs, which allows you to mock particular endpoints using data or local JSON files. With a little work you can get a pretty dynamic system going. Best part is it doesn't require any client code changes. Since Spotify's API is versioned and very popular, it doesn't change often, and when it does, it's not a breaking change (old clients will still work for some time). So I don't think you need to worry about that.