@AlexanderM You're right, the tests that I'm running are not unit tests because the are not self-contained and they do rely on external input. They would be better described as integration tests. The tests are for GitHub - Peter-Schorn/SpotifyAPI: A Swift library for the Spotify web API. Supports all endpoints. a wrapper for the Spotify web API. In order to test my library, I have to go through the authorization process, which requires opening a URL in the browser, where I log in to my Spotify account. I then click agree and am redirected to a redirect URI that I specify, which contains authorization information in the query string. I then need to paste this URL back into the program in order to complete the authorization process.
I do have a handful of truly self-contained unit tests, which do not rely on external input. However, the whole point of my program is to interact with the Spotify web API, and so I needs tests that do that.
Nonetheless, Apple's XCTest framework is still incredibly convenient and I see no inherent reason for not using it for these tests. I need to run them somehow anyway, and creating a separate program to do that seems unnecessary.