How do we run tests? We could run our tests in the host Eclipse directly. While this is simple, it has the drawback that side effects of a test can impact the development environment. Consider a test that gets out of control and consumes all CPU cycles. You would have to shutdown your host Eclipse to recover, just because of a test. Moreover, running tests inside the host Eclipse instance makes it difficult to debug test failures.
Therefore, we want to execute the tests in a separate virtual machine. Figure A.1 illustrates the setup. Our contributed JUnit plug-in contains a test runner that launches a
SocketTestRunner in a separate VM to execute the tests. The
SocketTestRunner reports the results back via a socket ...