title: Why should I use a separate test host for running XCTests and how should I do that?
body: <p>I once <a href="https://stackoverflow.com/questions/32639263/changed-load-method-order-in-xcode-7">asked a question related to XCTests</a>. And in one of the answers I was told that it is a common practice to use a separate test host (other than the main app) when running unit tests (at least, in iOS development). I tried to find some sources about it, but I couldn't </p>
  
  <p>I understand, that it is probably a best practice, so I would really like to understand it. Could someone explain to me why is it important, what benefits do I get from it and how should I go about doing it? Links to some articles explaining the issue will be much appreciated.</p>
  
  <p>P.S. I understand that I need special environment for tests (fake in-memory database, mocked networking layer, etc.), but up until now I managed to achieve it without a separate test host, using just my main app, like the Xcode suggests by default. But I believe that there might be a better way. And I know that the defaults that Xcode suggests are not always that great.</p>